計算機中的符號位
#include
intmain
(int argc,
char
const
*ar**)
有符號數的表示法
8位整數 5 的補碼為:0000 0101
8位整數 -7 的補碼為 : 1111 1001
16位整數的 20 的補碼為 :0000 0000 0001 0100
16位整數 -13 的補碼為:1111 1111 1111 0011
無符號數表示法
在計算機內部用原碼表示無符號數
對於固定長度的無符號數
signed 和 unsiged
int
main()
c 語言中只有整數型別能夠宣告 unsigned 變數
#include
intmain
(int argc,
char
const
*ar**)
else
return0;
}//i + j > 0
無符號數和有符號數進行運算時 有符號數將被看作無符號數進行運算
#include
intmain
(int argc,
char
const
*ar**)
return0;
}/*i = 4294945426
i = 4294945425
i = 4294945424
i = 4294945423
i = 4294945422
i = 4294945421
i = 4294945420
i = 4294945419
i = 4294945418
i = 4294945417
i = 4294945416
i = 4294945415
*/
有符號與無符號
最高位為1,表示這個數為負數 最高位為0,表示這個數為正數 include int main 執行結果 正數的補碼為正數本身 負數的補碼為負數的絕對值各位取反後加1 8位整數5的補碼為 0000 0101 8位整數 7的補碼為 1111 1001 16位整數20的補碼為 0000 0000 0001...
無符號與有符號
一,小精度往大精度轉換。1.1c語言中比int小的整型 包括short unsigned short unsigned char和char 在運算中都要轉換成int然後進行運算 unsigned char a unsigned char b a b 10,a和b分別先轉換成int,再計算 1.2同精...
有符號與無符號討論
includeusing namespace std int main else int a2 1 unsigned char b2 1 if a2 b2 else char a3 1 unsigned int b3 1 if a3 b3 else unsigned int a4 32 int b4...