2 有符號無符號

2021-10-22 11:38:10 字數 1036 閱讀 9952

計算機中的符號位

#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...