test

 

=== 类型说明符 ===

 

使用类型说明符来修改int所占有的字节数,从而修改它的取值范围

 

 

 

# 变量占据的字节数决定了变量的取值范围

 

二进制数字的取值范围为 [0, 2^n-1], n为数字的位数

 

比如一个int变量占4个字节/32个二进制位, 第一位用于表示正负号, 所以它共有31个数字位, 最大可能取值为 2^31 - 1, 取值范围是 -2^31 ~ 2^31-1

 

一个char变量占一个字节/8位, 它的取值范围是 2^-7 ~ 2^7-1

 

如果我们想表示一个更大的整数, 如果还用int存储, 输出的值就会是错误的.

 

 

 

# 用 long 和 short 来修饰 int 占据的字节数

 

下面的字节数指的是在64位编译环境下的

 

1> long int

 

占8个字节, 取值范围为 -2^63 ~ 2^63-1 (和编译器有关, 在我的win编译器里, long int和int都是4个字节)

 

通常在数字后面加L表示是long修饰的 (可以不加)

 

输出时用 %ld 占位符 (用%d可能会输出错误)

 

2> long long int

 

也占8个字节 (8个字节是上限). 但是在32位编译器环境下, int占2个字节, long占4个字节, long long占8个字节.

 

通常在数字后面加LL表示是long long修饰的 (可以不加)

 

输出时用 %lld 占位符

 

3> short int

 

占2个字节, 取值范围是 -2^15 ~ 2^15-1

 

数字后面不加修饰符

 

输出用 %d

 

posted on 2014-06-25 12:12  小兔儿爷的iOS魔法书  阅读(115)  评论(0)    收藏  举报

导航