C++:基础篇-32位和64位系统区别及字节数
今儿面试了一个刚刚毕业的,但是不知道一个int、long、double这几个都是多少位,我给你们总结一下哈:
常用数据类型对应字节数
可用如sizeof(char),sizeof(char*)等得出
32位编译器:
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
32位机器下面的结果:
| 数据类型 | 说明 | 字节数 | 取值范围 |
| bool | 布尔型 | 1 | true,false |
| char | 字符型 | 1 | -128~127 |
| unsigned char | 无符号字符型 | 1 | 0~255 |
| short | 短整型 | 2 | -32768~32767 |
| unsigned short | 无符号短整型 | 2 | 0~65535 |
| int | 整型 | 4 | -2147483648~2147483647 |
| unsigned | 无符号整型 | 4 | 0~4294967295 |
| long | 长整型 | 4 | -2147483648~2147483647 |
| unsigned long | 无符号长整型 | 4 | 0~4294967295 |
| float | 单精度型 | 4 | -3.4×10-38~3.4×10-38 |
| double | 双精度型 | 8 | -1.7×10-308~1.7×10-308 |
| long double | 长双精度型 | 8 | -1.7×10-308~1.7×10-308 |

浙公网安备 33010602011771号