C語言有符號和無符號之間的轉換

2022-07-30 20:39:14 字數 587 閱讀 3663

無符號數:不存在正負之分,所有位都用來表示數的本身。

有符號數:最高位用來表示數的正負,最高位為1則表示負數,最高位為0則表示正數。

1.無符號數--->有符號數

看無符號數的最高位是否為1,

如果不為1(為0),則有符號數就直接等於無符號數;

如果無符號數的最高位為1,則將無符號數取補碼,得到的數就是有符號數。

2.有符號數--->無符號數

看有符號數的最高位是否為1,

如果不為1(為0),則無符號數就直接等於有符號數;

如果有符號數的最高位為1,則將有符號數取補碼,得到的數就是無符號數。

總結:

有符號數與無符號數之間的轉換,都要看要轉換的數的最高位是否為1。

如果不為1,則轉換結果就是要轉換的數的本身;

如果為1,則轉換結果就是轉換的數(看作是負數)的補碼。

C語言有符號數與無符號數之間的轉換

無符號數 不存在正負之分,所有位都用來表示數的本身。有符號數 最高位用來表示數的正負,最高位為1則表示負數,最高位為0則表示正數。1 無符號數 有符號數 看無符號數的最高位是否為1,如果不為1 為0 則有符號數就直接等於無符號數 如果無符號數的最高位為1,則將無符號數取補碼,得到的數就是有符號數。以...

C語言有符號數與無符號數之間的轉換

寫在前面 以下內容是我的愚見,如有不對,歡迎拍磚。無符號數 不存在正負之分,所有位都用來表示數的本身。有符號數 最高位用來表示數的正負,最高位為1則表示負數,最高位為0則表示正數。1 無符號數 有符號數 看無符號數的最高位是否為1,如果不為1 為0 則有符號數就直接等於無符號數 如果無符號數的最高位...

C語言 有符號 無符號

include int main 注 資料儲存時將 0對應的區間值設定為最小值 2 7 1 說明 資料儲存在計算機中不存在符號位 無符號數最高位不是符號位,而就是數的一部分,無符號數不可能是負數。2 詳解當我們寫程式要處理乙個不可能出現負值的時候,一般用無符號數,這樣可以增大數的表達最大值。3 表範...