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


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

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

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

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

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

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

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

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

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

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

總結:

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

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

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM