標籤:
1、iOS中的round/ceil/floorf函數略解
extern float ceilf(float);
extern double ceil(double);
extern long double ceill(long double);
extern float floorf(float);
extern double floor(double);
extern long double floorl(longdouble);
extern float roundf(float);
extern double round(double);
extern long double roundl(longdouble);
round:如果參數是小數,則求本身的四捨五入。
ceil:如果參數是小數,則求最小的整數但不小於本身.
floor:如果參數是小數,則求最大的整數但不大於本身.
Example:如何值是3.4的話,則
3.4 -- round 3.000000
-- ceil 4.000000
-- floor 3.00000
2、uint8_t,uint16_t,uint32_t
uint8_t,uint16_t,uint32_t等都不是什麼新的資料類型,它們只是使用typedef給類型起的別名,新瓶裝老酒的把戲。不過,不要小看了typedef,它對於你代碼的維護會有很好的作用。比如C中沒有bool,於是在一個軟體中,一些程式員使用int,一些程式員使用short,會比較混亂,最好就是用一個typedef來定義,如:
typedef char bool;
一般來說,一個C的工程中一定要做一些這方面的工作,因為你會涉及到跨平台,不同的平台會有不同的字長,所以利用先行編譯和typedef可以讓你最有效維護你的代碼。為了使用者的方便,C99標準的C語言硬體為我們定義了這些類型,我們放心使用就可以了。
按照posix標準,一般整形對應的*_t類型為:
1位元組 uint8_t
2位元組 uint16_t
4位元組 uint32_t
8位元組 uint64_t
格式化輸出:
unit64_t %llu
unit32_t %u
unit16_t %hu
代碼種遇到的一些 C/C++