各種資料型別在不同機器上的所佔位元組問題

2021-06-20 08:42:15 字數 1656 閱讀 2093

int的長度由處理器(16位,32位,64位)和比哪一期決定。

首先從處理器來講 :16位處理器中的int 占有16位 即2個位元組

32位處理器中int占有32位 即4個位元組

64位處理器中int占有64位 即8個位元組

四個規則在任何機器上都遵守

1 sizeof(short int)<=sizeof(int)

2 sizeof(int)<=sizeof(long int)

3 short int至少應為16位(2位元組)

4 long int至少應為32位。

(1) 64位機器

size of char is: 

1size of unsigned char is: 

1size of signed char is: 

1size of int is: 

4size of short is: 

2size of long is: 

8size of long int is: 

8size of signed int is: 

4size of unsigned int is: 

4size of unsigned long int is: 

8size of long long int is: 

8size of unsigned long long is: 

8size of float is: 

4size of double is: 

8size of long double is: 

16任何資料型別的指標都是佔8個位元組

(2)32位機器上

size of char is: 

1size of unsigned char is: 

1size of signed char is: 

1size of int is: 

4size of short is: 

2size of long is: 

4size of long int is: 

4size of signed int is: 

4size of unsigned int is: 

4size of unsigned long int is: 

4size of long long int is: 

8size of unsigned long long is: 

8size of float is: 

4size of double is: 

8size of long double is: 

8任何資料型別的指標都是佔4個位元組

(3)16位平台

char 

1個位元組8位

short 

2個位元組16位

int 

2個位元組16位

long 

4個位元組32位

指標  2個位元組

按微處理器字長來分,微型計算機一般分為4位、8位、16位、32位和64位機這幾種。

匯流排寬度一般指cpu中運算器與儲存器之間進行互連的內部匯流排二進位制位數,影響吞吐量

資料匯流排負責計算機中資料在各組成部分之間的傳送,資料匯流排寬度是指在晶元內部資料傳輸的寬度,而資料匯流排寬度則決定了cpu與二級快取、記憶體以及輸入/輸出裝置之間一次資料傳輸的資訊量。

各種資料型別所佔的儲存空間

typedef unsigned intuint32 t 在16位的編譯器中佔2個位元組 在32位的編譯器中佔4個位元組 在64位的編譯器中佔4個位元組 為了以後開發中能夠方便查詢,並正確的使用資料型別,下面是部分資料型別的取值範圍 下面列出的是常用資料型別占用的儲存空間 資料型別 16位編譯器 3...

筆記 關於c語言中各種資料型別所佔位元組。

struct st int sz sizeof struct st 先上題,如上,在64位處理器執行後sz的值為什麼?考點 1.struct的對齊原則,注意不同的編譯器有不同的效果。2。不同的資料型別在32位和64位下所佔位元組的區別 32位編譯器 char 1個位元組 char 即指標變數 4個位...

用c語言,測試各種資料型別所佔空間大小

include includeint main 整型陣列 char arr2 5 字元陣列 int p1 n 整形指標 char p2 ch 字元指標 int p3 arr1 整形指標 char p4 arr2 字元指標 int p5 5 arr1 整形陣列指標 char p6 5 arr2 字元陣...