CC 基本資料型別 位元組數

2021-08-28 23:32:14 字數 1277 閱讀 8060

1位元組=8位

1k=1024位元組=2^10

c語言型別資料所佔位元組數和機器字長及編譯器有關係,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ansi/iso制訂的):

sizeof(short int)<=sizeof(int)

sizeof(int)<=sizeof(long int)

short int至少應為16位(2byte)

long int至少應為32位。 型別

32位編譯器

64位編譯器

char

1 byte

1 byte

char *(指標變數

4 byte(32bit=4byte)8 byte

short int

2 byte

2 byte

int4 byte

4 byte

unsigned int

4 byte

4 byte

float

4 byte

4 byte

double

8 byte

8 byte

long4 byte8 byte

long long

8 byte

8 byte

unsigned long4 byte8 byte

驗證方式:printf("%d",sizeof(char))

確定各資料型別取值範圍(標頭檔案中含有):

(char)((unsigned char) ~0 >>1)為signed型別字元最大值。

-(char)((unsigned char) ~0 >>1)為signed型別字元最小值。

~0 //各個二進位制位全部轉換成1

(unsigned char) ~0 //結果轉換成unsigned char 型別

(unsigned char) ~0 >>1 //右移一位清除符號位

(char)((unsigned char) ~0 >>1) //得到signed型別最大值 ,替換char得到其他型別取值範圍。

C C 基本資料型別所佔位元組數

關於這個基本的問題,很早以前就很清楚了,c標準中並沒有具體給出規定那個基本型別應該是多少位元組數,而且這個也與機器 os 編譯器有關,比如同樣是在32bits的作業系統系,vc 的編譯器下int型別為佔4個位元組 而tuborc下則是2個位元組。所以int,long int,short int的寬度...

C C 基本資料型別所佔位元組數

所以int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 下面給出不同位數編譯器下的基本資料型別所佔的位元組數 16位編譯器 char 1個位元組 char 即指標變數 2個位元組 short int 2個位元組 int 2個位元組 uns...

C C 基本資料型別所佔位元組數

有幾條鐵定的原則 ansi iso制訂的 下面給出不同位數編譯器下的基本資料型別所佔的位元組數 16位編譯器 char 1個位元組 char 即指標變數 2個位元組 short int 2個位元組 int 2個位元組 unsigned int 2個位元組 float 4個位元組 double 8個位...