整數就是沒有小數部分的數,在C中小數點永遠不會出現在整數中。例如2,-24,2456都是整數,整數以二進制存儲,例如7的二進制表示為111,在8位的字節中存儲它的前5位為0,將後3位置1.
<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+uKG148r9vLS808HL0KHK/bXjtcTK/S4gMi43NSwzLjE2RTcsNy4wMCwyZS04trzKx7ihtePK/aOsPC9wPgo8cD48aW1nIHNyYz0="/uploadfile/Collfiles/20131209/20131208222515375.jpg" alt="\">
區別:
浮點數可以表示比整數范圍大得多的數。
對於一些算術運算,浮點數會損失更多的精度
浮點數的計算會慢於整數,不過,已經開發出專門處理浮點運算的微處理器。
/*以十進制8進制16時制輸出100*/ #includeint main(void) { int x =100; printf("dec =%d octal =%o hex =%x \n",x,x,x); printf("dec =%d octal =%#o hex =%#x \n",x,x,x); } #include #include int main(void) { int16_t me16; me16 =4593; printf("First assume int16_t is short : me16=%hd size=%zd\n",me16,sizeof(int16_t)); }
#includeint main(void) { int i = 2147483647; unsigned int j = 4294967295; printf("%d,%d,%d\n",i,i+1,i+2); printf("%u,%u,%u\n",j,j+1,j+2); return 0; }
結果:
2147483647,-2147483648,-2147483647
4294967295,0,1
Note:
這個例子是基於int值是4字節的情況,注意無符號數的取值范圍0-4294967295,所以無符號的減法操作時沒有負數.
#includeint main(void) { char grade ='A'; char grade1 =65; char testChar ='ABCD'; printf("%c,%c,%c \a\n",grade,grade1,testChar); return 0; } 結果: A A D
Char 類型用於存儲字母和標點符號之類的字符。但是在技術實現上char類型卻是整數類型,這是因為char類型實際存儲的是數字而不是字符。為了處理字符,計算機使用一種數字編碼,用特定的整數表示特定的字符。所以可以用char grade1 =65;給字符賦值。
在int類型為32位及char 類型為8位的ASCII系統中 char grade =’B’意味著’B’作為數值66存儲在一個8位單元中。利用字符常量這個特性,可以定義字符常量’ABCD’,將這4個獨立的8位ASCCI碼存儲一個32位單元中。然而,如果把這個字符常量賦給一個char變量,那麼只有最後8位會起作用,因此變量值為D.