1 Byte = 8 bit
1 KB = 1024 Byte = 2^10 Byte
1 MB = 1024 KB = 2^20 Byte
1 GB = 1024 MB = 2^30 Byte
1 TB = 1024 GB = 2^40 Byte
- 字符型 char
- 短整型 short
- 整型 int
- 长整型 long
- 单精度浮点型 float
- 双精度浮点型 double
- 无类型 void
- c语言中,每一种数据类型所占的字节数是固定的,知道了数据类型,就知道了数据的长度。
- 32位环境中,各种数据类型长度一般如下:
| 说明 | 字符型 | 短整型 | 整型 | 长整型 | 单精度浮点型 | 双精度浮点型 |
|---|
| 数据类型 | char | short | int | long | float | double |
| 长度 | 1 | 2 | 4 | 4 | 4 | 8 |
- 整数在内存中存储是以补码的形式存储的,当读取时,会将补码转换为原码,原码才是真正的值。
1.原码:即将整数转换为二进制数,转换后的二进制数即为原码。
2.反码:正数的反码和原码相同,负数的反码为最高位作为符号位不变,数值位取反(即0变1,1变0)。
3.补码:正数的补码和原码相同,负数的补码为反码+1。
负数的原码、反码、补码转换方式如下:
原码 -> 反码:最高位符号位不变,数值位取反
反码 -> 原码:最高位符号位不变,数值位取反
反码 -> 补码:反码+1
补码 -> 反码:补码-1
- 对于整数数据类型来说,如果要表示的数据类型过大,会产生溢出,溢出的位数会被去掉,导致实际表示的数字出现差错。
书签:
http://c.biancheng.net/view/vip_1764.html