之前看過很多類似的部落格知識點,老是記不住,現在在自己總結一下吧,可能說的不對,望大家指教。
1、unsigned int
unsigned int a = -1;
unsigned int b = 1;
printf("a=0x%x \n", a);
if(a > b) printf("a>b \n");
else printf("a<b\n");
輸出:
a = 0xffffffff
a>b
2、int
int a = -1;
int b = 1;
printf("a=0x%x\n", a);
if(a > b) printf("a>b \n");
else printf("a<b\n");
輸出:
a = 0xffffffff
a<b
3、分析:
因為在計算機中總是以補碼形式儲存計算,正數的補碼是其本身,負數的補碼是其無符号部分取反再加1
-1這個資料在計算機中總是會以補碼的形式儲存為0xffffffff,
資料是資料,類型歸類型,類型隻是對資料的解釋