特別是在C語言中,對數據的要求比較嚴格,對於咱們自身而言,若是連數據的範圍都不清楚,就很容易犯錯,如下是個人一些理解,但願能讓本身再加深下理解和記憶:ide
unsigned int a;it
printf("%u",a); //能表示的最大數是2**32-1 也就是4294967295class
很好理解,好比二進制的兩位數最大能表示2**2-1=3.十進制一樣,最大能表示10**2-1= 99.二進制
最小的天然就是0了。
數據
這是對於無符號的,那麼:語言
int a;di
printf("%d",a); //能表示的最大數就是2**31-1=2147483647;view
//能表示的最小數是-(2**31)=2147483648;vi
若是在聲明的時候沒有刻意的去說明是無符號類型,一般系統都默認是有符號的去處理。co
一樣道理,若是對於char,long,也是同樣的。