c語言整數范圍
⑴ c語言中最大的整型數和最小的整型數是什麼
C語言中最大的無符號整型常數為65535,最小的無符號整型常數為0。最大的有符號整型常數為32767,最小的有符號整型常數為-32768。
在C編譯系統中,基本整型的長度也為16位,因此表示的數的范圍也是有限定的。十進制無符號整常數的范圍為0~65535,有符號數為-32768~+32767。如果使用的數超過了上述范圍,就必須用長整型數來表示。長整型數是用後綴「L」或「l」來表示的。
(1)c語言整數范圍擴展閱讀:
無符號整型常數的類型說明符為unsigned。可以單獨使用代表unsigned int,也可以作為前綴,表示無符號整數,即永遠為非負的整型變數,大於0的數據范圍約擴大為原來的2倍。各種無符號類型量所佔的內存空間位元組數與相應的有符號類型量相同。但由於省去了符號位,故不能表示負數。
長整數158L和基本整常數158在數值上並無區別。但對158L,因為是長整型量,C編譯系統將為它分配4個位元組存儲空間。而對158,因為是基本整型,根據計算機的內部字長和編譯器的版本分配2或4個位元組的存儲空間。因此在運算和輸出格式上要予以注意,避免出錯。
⑵ c語言中int,long的取值范圍是多少
主要看編譯器怎麼對這些類型的數據怎麼處理了,不同的編譯器可能會給int分配不同的空間,一般在32位系統中會給int分配4個位元組,以前的單片機編譯器一般會分配1個位元組,現在64位的編譯器一般會分配8個位元組,不同的位元組,他們能表示的取值范圍也就不一樣了。
同樣,有符號數和無符號數,表示的數據范圍也不一樣。比如單片機中的編譯器C51,分配一個位元組:
無符號數,最大也就是0XFF,即十進制的255。
有符號數,正數0~127,負數-128到-1
其它依次類推
long同樣類似
⑶ 一個數字在C語言中是多少個位元組
一個數字在C語言中是2、4、8個位元組,以int類型、float類型和double類型來表示。
int類型佔用2位元組內存,表示整數,數據范圍在-2^31~2^31-1(-2147483648~2147483647)之間。
float類型佔用4位元組內存,表示單精度浮點數,數據范圍在-2^128 ~ 2^128(-3.40E+38 ~ +3.40E+38)之間。
double類型佔用8位元組內存,表示雙精度浮點數,數據范圍在-2^256 ~ 2^256(-1.90E+308 ~ +1.80E+308)之間。
(3)c語言整數范圍擴展閱讀:
雙精度浮點型類型數值可轉換到其他類型的整數或浮點數,反之亦然。雙精度浮點型常量的最後一個字元可加上「d」或「D」。其存儲格式與浮點型類似,最高位為符號位,次高11位為指數位,其次52位為尾數。
雙精度浮點型同數值型比,它能提供更高的數值精度,採用固定存儲長度的浮點數形式,每個雙精度浮點型數據佔8個位元組。與數值型數據不同,它的小數點位置是由輸入的數據值來決定的,並且只能用於表中的欄位。