1. 程式人生 > >int 與 unsigned int

int 與 unsigned int

cpp primer  P31

帶符號型別和不帶符號型別

 

1、除去布林型和擴充套件字元外,其他整型可以劃分為帶符號的(signed)和無符號的(unsigned)兩種。signed型別可以表示正數、負數或0,無符號型別則僅能表示大於等於0的值。

unsigned int 可以所寫成 unsigned

2、當我們賦值給無符號型別一個超出他表示範圍的值時,結果是初始值對無符號型別表示數值總數取模後的餘數。

3、當一個表示式裡既有帶符號型別又有無符號型別,當帶符號型別為負時會出現異常結果,因為帶符號數會自動轉換成無符號數

4、把負數轉換成無符號數類似於直接給無符號數賦一個負值,結果等於這個負數加上無符號數的模。

 

寫迴圈的時候,注意迴圈變數的型別,下面的程式碼會出現死迴圈,因為 i永遠都不會取到負值

for(unsigned u=10; u>=0 ;u--){
   cout<<u;
}