一.整型类型介绍
四种整型:
short int: 短整型, 占16位, mac 上占 2 字节, iOS 上占 2 字节, 范围 -32768(-2^15) ~ 32767(2^15 - 1), 3万;
int : 整型, 占32位, mac 上占 4 字节, ios 上占 4 字节, 范围 -2147483648(-2^31) ~ 2147483647(2^31 - 1), 21亿;
long int : 长整型, 占64位, mac 上占 8 字节, ios 上占 4 字节, (-2^63) ~ (2^63 - 1), 922亿亿;
long long : 占64位, mac 上占 8 字节, ios 上占 8 字节;
类型 | 占用存储空间 | 值域范围 |
---|---|---|
Byte | 1个字节 | -128—127 |
short | 2个字节 | -2′15—2′15-1 |
int | 4个字节 | -2′31—2′31-1 |
long | 8个字节 | -2′63—2′63-1 |
二.进制介绍
八进制 十六进制赋值 : 八进制由 "0" 开头, 十六进制由 "0x" 或者 "0X" 开头;
int a = 010; /* 八进制赋值 */
int b = 0x10; /* 十六进制赋值 */
int c = 10; /* 正常十进制赋值 */
三.无符号整型
无符号整型 第一位 不是符号位, 范围比原来要大, 例如 short int 范围是 正负3万, unsigned short int 范围是 0到6万, 将5万赋值给 该类型不报错;
四.字符型
1.单个字符表示 : 使用 '' 将单个字符引起来, 便是字符常量, 如 'a', 'b' 等;
2.字符占用空间大小 : 每个字符占用一个字节, 因此 Object-C 不支持中文字符, 因为中文字符都是占 2 ~ 3 个字节;
3.转义字符表示 : 使用转义符号 \ 来指定字符, 如 '\n' 等;
转义字符 : 分为特殊空白字符 和 区别 单双引号 和 反斜线的转义;
-- 退格符 : '\b' ;
-- 换行符 : '\n' ;
-- 回车符 : '\r' ;
-- 制表符 : '\t' ;
-- 双引号 : '"' ;
-- 单引号 : ''' ;
-- 反斜线 : '\' ;
int 与 char 类型关系 : char 类型可以当做 8 位无符号整数, 取值范围 0 ~ 255;
-- int 赋值给 char : 将 int 类型赋值给 char 变量的时候, 会自动将类型转为 char 类型;
char a = 'a';
char b = 100;
char c = '\n';
NSLog(@"a = %d", a);
NSLog(@"b = %c", b);
NSLog(@"c = %d", c);
// 输出:a = 97 b = d c = 10
五.浮点型
浮点型数据类型 :
-- float: 占 4 字节;
-- double : 占 8 字节;
-- long double : 占 16 字节;
浮点数表示形式 :
-- 十进制形式 : 简单的浮点数, 包含一个小数点, 如 3.8, 38.0, .38 等;
-- 科学计数法 : 3.8E2 或者 3.8e2 代表 3.8*10^2, 只有浮点数才能使用科学计数法;
Object-C 与 Java 浮点数区别 :
-- Java 浮点数 : Java 的 double 与 float 不同, 浮点数赋值给 float 需要加上 f 后缀;
-- Object-C浮点数 : 不区分 double 与 float, 一个浮点数 3.8 可以赋值给两种类型的变量;
浮点数的特殊值 :
-- 正无穷大 : 正浮点数除以 0.0 得到正无穷大, 正无穷大都相等, 正整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 32767(2^15 -1);
-- 负无穷大 : 负浮点数除以 0.0 得到负无穷大, 负无穷大都相等, 负整数除以 0.0 得到整数的边界值, short int 除以 0.0 得到 -32768(2^15);
-- 非数 : 0.0 除以 0.0 得到一个非数, 非数与任何数包括其本身都不相等;
类型 | 占用存储空间 | 值域范围 |
---|---|---|
float | 4个字节 | -3.403E38 |
double | 8个字节 | -1.798E308—1.798E |
网友评论