1. 程式人生 > >動手動腦與原碼反碼補碼

動手動腦與原碼反碼補碼

net -s 方法 原碼 絕對值 個數 spa tails detail

技術分享圖片

 對於一個數, 計算機要使用一定的編碼方式進行存儲。 原碼, 反碼, 補碼是計算機存儲一個具體數字的編碼方式。

  一個數在計算機中的二進制表示形式, 叫做這個數的機器數。機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數為0, 負數為1。比如,十進制中的數 +2 ,計算機字長為8位,轉換成二進制就是[00000010]。如果是 -2 ,就是 [10000010] 。因為第一位是符號位,所以機器數的形式值就不等於真正的數值。例如上面的有符號數 [10000010],其最高位1代表負,其真正數值是 -2 而不是形式值130([10000010]轉換成十進制等於130)。所以將帶符號位的機器數對應的真正數值稱為機器數的真值。

  • 原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其余位表示值。
  • 反碼的表示方法是:正數的反碼是其本身;負數的反碼是在其原碼的基礎上, 符號位不變,其余各個位取反。
  • 補碼的表示方法是:正數的補碼就是其本身;負數的補碼是在其原碼的基礎上, 符號位不變, 其余各位取反, 最後+1。 (即在反碼的基礎上+1)

--------------------- 本文來自 Jason_M_Ho 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/Jason_M_Ho/article/details/78700434?utm_source=copy

動手動腦與原碼反碼補碼