c資料型別
最小值最大值
[signed] char
-128
127unsigned char
0255
short
-32768
32767
unsigned short
065535
int-2 147 483 648
2 147 483 647
unsigned
04 294 967 295
long
-2 147 483 648
2 147 483 647
unsigned long
04 294 967 295
int32_t
-2 147 483 648
2 147 483 647
uin32_t
04 294 967 295
int64_t
-9 223 372 036 854 775 808
9 223 372 036 854 775 807
uint64_t
018 446 744 073 709 551 615
32位程式上c語言整型資料型別的典型取值範圍c資料型別
最小值最大值
[signed] char
-128
127unsigned char
0255
short
-32768
32767
unsigned short
065535
int-2 147 483 648
2 147 483 647
unsigned
04 294 967 295
long
-9 223 372 036 854 775 8089 223 372 036 854 775 807
unsigned long
018 446 744 073 709 551 615
int32_t
-2 147 483 648
2 147 483 647
uin32_t
04 294 967 295
int64_t
-9 223 372 036 854 775 808
9 223 372 036 854 775 807
uint64_t
018 446 744 073 709 551 615
64位程式上c語言整型資料型別的典型取值範圍c資料型別圖中的注意事項:
取值範圍不是對稱的———負數的範圍比整數的範圍大1.當我們考慮如何表示負數的時候,會看到為什麼會是這樣子。
最小值最大值
[signed] char
-127
127unsigned char
0255
short
-32767
32767
unsigned short
065535
int-32767
32767
unsigned
065535
long
-2 147 483 647
2 147 483 647
unsigned long
04 294 967 295
int32_t
-2 147 483 648
2 147 483 647
uin32_t
04 294 967 295
int64_t
-9 223 372 036 854 775 808
9 223 372 036 854 775 807
uint64_t
018 446 744 073 709 551 615
c語言的整型資料型別的保證的取值範圍。c語言標準要求這些資料型別必須至少具有這樣的取值範圍c語言支援多種整型資料型別——表示有限範圍的整數。如圖所示,其中給出了「典型」32位和64位機器的取值範圍。每種型別都能用關鍵字來指定大小,這些關鍵字包括chac語言標準定義了每種資料型別必須能夠表示的最小的取值範圍。如上圖所示,它的取值範圍與32位和64位所示的典型實現一樣或者小一些。特別地,除了固定大小的資料型別是例外,我們看到它們只要求正數和負數的取值範圍是對稱的。此外,資料型別
int
可以用2個位元組的數字來實現。這幾乎退到了16位機器的時代。還可以看到,long
的大小可以用4個位元組的數字來實現,對32位程式來說這是很典型的。固定大小的資料型別保證數值的範圍與32位程式上c語言整型資料型別的典型取值範圍一致。包括負數與正數的不對稱性。
r、sh
ort、
long
char、short、long
char、s
hort
、lon
g,同時還可以指示被表示的數字是非負數(宣告為uns
igne
dunsigned
unsign
ed),或者可能是負數(預設即可)。為這些不同的大小分配的位元組數可根據程式編譯為32位gcc -m32 prog.c
或者64位gcc -m64 prog.c
而有所不同。根據位元組分配,不同的大小所能表示的值的範圍是不同的。特別注意,這裡給出來的唯一乙個與機器有關的取值範圍是大小指示符long
的。大多數64位的機器使用8個位元組的表示。比32位機器上使用的4個位元組的表示的取值範圍大的多
補充:字資料大小每台計算機都有乙個字長(word size),指明指標資料的標稱大小(nominal size)。
因為虛擬位址是以這樣的乙個字來編碼的,所以字長決定的最重要的系統引數就是虛擬位址空間的最大大小。也就是說,對於乙個字長為w
ww位的機器而言,虛擬位址的範圍位0−2
w−10 - 2^w-1
0−2w−1
,程式最多訪問2
w2^w
2w個位元組最近這些年,出現了大規模的從32位字長機器到64位字長機器的遷移。這種情況首先出現在為大型科學和資料庫應用設計的高階機器上,之後是台式電腦和膝上型電腦,最近則出現在智慧型手機的處理器上。32位字長限制虛擬位址空間為4千兆位元組(寫作4gb),也就是說,剛剛超過4×1
094\times10^9
4×10
9個位元組。擴充套件到64位字長使得虛擬位址空間為16eb,大約是1.84×1
0191.84\times 10^
1.84×1
019位元組
基本c資料型別的典型大小(以位元組為單位)。分配的位元組數受如何編譯的影響而變化。
基本資料型別 取值範圍
基本資料型別 1.整型和浮點型 2.資料範圍 1.整型 char,short,int,long,long long 有無符號和有符號之分,即可以新增unsigned long a 1234l long long b 1234ll d ld lld 浮點型 float,double f lf 2.32...
各種資料型別的取值範圍
速查表 char 128 127 1 byte short 32767 32768 2 bytes unsigned short 0 65536 2 bytes int 2147483648 2147483647 4 bytes unsigned int 0 4294967295 4 bytes l...
C 各資料型別取值範圍(備忘)
各資料型別取值範圍 bool型為布林型,佔1個位元組,取值0或1。bool型為int型,一般認為佔4個位元組,取值true false error。sbyte型為有符號8位整數,佔1個位元組,取值範圍在128 127之間。bytet型為無符號16位整數,佔2個位元組,取值範圍在0 255之間。sho...