二进制的相关知识
位的概念:在计算机中,一个0或1称为一位(bit)。
字节:连续的八位称为一个字节(Byte),字节是计算机中可单独处理的最小单位。即以字节
为基本单位来解释信息,规定1个字节是8个二进制位。
通常1个ASCII码用1个字节存放,1个汉字用2个字节存放,双精度浮点实数用8个字节存放。
下面列表C语言中定义类型所占字节以及数据范围。
类型标识符 | 类型说明 | 长度(字节) | 范围 | 备注 |
---|---|---|---|---|
char | 字符型 | 1 | -128 ~ 127 | -2^7~(2^7-1) |
unsigned char | 无符字符型 | 1 | 0 ~ 255 | 0~(2^8-1) |
short int | 短整型 | 2 | -32768 ~ 32767 | -2^15~(2^15-1) |
unsigned short int | 无符短整型 | 2 | 0 ~ 65535 | 0~(2^16-1) |
int | 整型 | 4 | -2147483648 ~ 2147483647 | -2^31~(2^31-1) |
unsigned int | 无符整型 | 4 | 0 ~ 4294967295 | 0~(2^32-1) |
float | 实型(单精度) | 4 | 1.1810-38 ~ 3.401038 | 7位有效位 |
double | 实型(双精度) | 8 | 2.2310-308 ~ 1.7910308 | 15位有效位 |
long double | 实型(长双精度) | 10 | 3.3710-4932 ~ 1.18104932 | 19位有效位 |
按照posix标准,一般整形对应的*_t类型为:
长度 | 类型标识符 |
---|---|
1字节 | uint8_t |
2字节 | uint16_t |
4字节 | uint32_t |
8字节 | uint64_t |
参考资料
http://my.oschina.net/goal/blog/195749
http://my.oschina.net/goal/blog/202378
http://my.oschina.net/goal/blog/202381