Object-C语法学习笔记(一)——数据类型

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

你可能感兴趣的:(object)