今兒面試了一個剛剛畢業的,但是不知道一個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 |
