C C 語言的資料型別的位元組數

2021-09-10 04:24:50 字數 1198 閱讀 6228

資料型別的長度跟編譯器有關係,跟系統32還是64位無關,比如,32位的程式執行在64位上,仍是按照當初編譯(32的編譯器)出來的位元組長度執行的。

char:佔乙個機器位元組byte,一般是8位,但也出現過6位,7位,9位,12位和16位。

int:佔乙個機器字word,一般是32位。但也出現過8, 9, 12, 18, 24, 36, 39, 40, 48和60位。

long:佔乙個通用暫存器,所以32位機上是32位,64位機上是64位。指標和long一樣大。

float:如果是按照ieee的標準是32位。

double:如果是按照ieee的標準是64位。

c++標準沒有指定int型別的位元組數,但是指定了最小範圍。可以在從要求的範圍內的位推斷最小size。

對於char來說,它的大小始終是1個位元組。

c++標準要求的最小範圍如下:

signed char: -127 to 127 (note, not -128 to 127; this accommodates 1』s-complement platforms)

unsigned char: 0 to 255

「plain」 char: -127 to 127 or 0 to 255 (depends on default char signedness)

signed short: -32767 to 32767

unsigned short: 0 to 65535

signed int: -32767 to 32767

unsigned int: 0 to 65535

signed long: -2147483647 to 2147483647

unsigned long: 0 to 4294967295

signed long long: -9223372036854775807 to 9223372036854775807

unsigned long long: 0 to 18446744073709551615

c90 標準如下

sizeof(char) <=sizeof(short) <= sizeof(int) <= sizeof(long)

c99 標準

sizeof(char) <=sizeof(short) <= sizeof(int) <= sizeof(long) < sizeof(long long)

資料型別位元組數

一 程式執行平台 不同的平台上對不同資料型別分配的位元組數是不同的。個人對平台的理解是cpu os compiler,是因為 1 64位機器也可以裝32位系統 x64裝xp 2 32位機器上可以有16 32位的編譯器 xp上有tc是16位的,其他常見的是32位的 3 即使是32位的編譯器也可以弄出6...

CC 基本資料型別 位元組數

1位元組 8位 1k 1024位元組 2 10 c語言型別資料所佔位元組數和機器字長及編譯器有關係,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 sizeof short int sizeof int sizeof int size...

C語言資料型別佔據的位元組數

編譯器不同所占有的位元組數不同 32位編譯器 char 1個位元組 char 即指標變數 4個位元組 32位的定址空間是2 32,即32個bit,也就是4個位元組。所有型別的指標全是4個位元組,儲存的是位址。short int 2個位元組 int 4個位元組 unsigned int 4個位元組 f...