**:
1byte = 8bit
1kb = 1024byte =2 ^10
1m = 1024kb
1g = 1024m
買硬碟實際記憶體小是因為廠商當1000換算的。
這個基本的問題,很早以前就很清楚了,c標準中並沒有具體給出規定那個基本型別應該是多少位元組數,而且這個也與機器、os、編譯器有關。那麼怎樣才能知道自己系統的資料型別的位元組數呢?
用sizeof()關鍵字設計以下程式解決:
/*獲取當前作業系統的位元組數(bytes)和位數(bit)*/
#includeint main(void)
2. 取值範圍則可以用極限值符號(極限值符號定義在 limits.h 標頭檔案中,以下會詳細介紹)來獲得
下面以char型別為例:
/*獲取char資料型別的取值範圍*/
#include#includeint main(void)
所以int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ansi/iso制訂的):
char:1位元組
int:4位元組
float:4位元組
double:8位元組
sizeof(short int)<=sizeof(int)
sizeof(int)<=sizeof(long int)
short int至少應為16位(2位元組)
long int至少應為32位。
基本資料型別所佔位元組數
16位編譯器 char 1個位元組 char 即指標變數 2個位元組 short int 2個位元組 int 2個位元組 unsigned int 2個位元組 float 4個位元組 double 8個位元組 long 4個位元組 long long 8個位元組 unsigned long 4個位元...
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...