負數的表示


  

       正數的原碼,反碼,補碼都是一樣的。

       負數的原碼用其絕對值的正數原碼表示,反碼在原碼基礎上求反,補碼在反碼的基礎上加1. 

  原碼:將一個整數,轉換成二進制,就是其原碼。
               如單字節的5的原碼為:0000 0101;-5的原碼為1000 0101。

 反碼:正數的反碼就是其原碼;負數的反碼是將原碼中,除符號位以外,每一位取反。
               如單字節的5的反碼為:0000 0101;-5的反碼為1111 1010。

 補碼:正數的補碼就是其原碼;負數的反碼+1就是補碼。
               如單字節的5的補碼為:0000 0101;-5的原碼為1111 1011。

  在計算機中,正數是直接用原碼表示的,如單字節5,在計算機中就表示為:0000 0101。
                          負數用補碼表示,如單字節-5,在計算機中表示為1111 1011。
  單片機中處理: 先取反,再加1即可。
Uint8 num_a;
Int8 num_b = -120;
num_a = ~num_b + 1; // 獲得相應的正數

可以參考以下文章:
https://www.cnblogs.com/dingyingsi/p/6075967.html

https://www.cnblogs.com/hello-yz/p/3249175.html


免責聲明!

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



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