1、整形
int a = 10; 十進位,格式化輸出:%i
int b = 0743; 八進位,格式化輸出:%o %#o(輸出前置字元號0)
int c = 0x7f3d; 十六進位,格式化輸出:%x %#x(輸出前置字元號0x)
2、浮點型
float f = 1.234; 格式化輸出:%f(小數部分預設長度為6,不夠用0填補)
double d = 1.3e-11 格式化輸出:%e(按照科學技術法輸出)
在Obj-C中,編譯器將把單精確度浮點數作為雙精確度來處理;除非定義為float f=1.23f,則為單精確度浮點數。
格式化輸出:%g,將省略到浮點型數位多餘0。
4、long
long int a = 10L; 格式化輸出:%li %lo %lx,分別使用十進位,八進位,十六進位格式輸出。
long long int b = 10LL; 格式化輸出:%lli %llo %llx,分別使用十進位,八進位,十六進位格式輸出。
long double d = 1.234e+7L; 格式化輸出:%Lf %Le %Lg
5、無符號
unsigned int a = 10U, b = 11u;
unsigned long int a = 19UL, b = 119ul;
當一個int的數值太大而無法存入int,並且沒有使用尾碼時,則編譯器當作是無符號的整數來處理。
當一個int的數值太小而無法存入unsigned int,並且沒有使用尾碼時,則編譯器當作是long int來處理。
Basic Data Types
Type | Constant Examples | NSLog chars
char | ’a’, ’\n’ | %c
short int | — | %hi, %hx, %ho
unsigned short int | — | %hu, %hx, %ho
int | 12, -97, 0xFFE0, 0177 | %i, %x, %o
unsigned int | 12u, 100U, 0XFFu | %u, %x, %o
long int | 12L, -2001, 0xffffL | %li, %lx, %lo
unsigned long int | 12UL, 100ul, 0xffeeUL | %lu, %lx, %lo
long long int | 0xe5e5e5e5LL, 500ll | %lli, %llx, &llo
unsigned long long int | 12ull, 0xffeeULL | %llu, %llx, %llo
float | 12.34f, 3.1e-5f, | %f, %e, %g, %a
| 0x1.5p10, 0x1P-1 |
double |12.34, 3.1e-5, 0x.1p3 | %f, %e, %g, %a
long double |12.341, 3.1e-5l | %Lf, %Le, %Lg
id |nil | %p