天天看點

unsigned int 與 int

之前看過很多類似的部落格知識點,老是記不住,現在在自己總結一下吧,可能說的不對,望大家指教。

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,

資料是資料,類型歸類型,類型隻是對資料的解釋