1. 程式人生 > >原碼,反碼,補碼

原碼,反碼,補碼

ack span style 數值 www. zhang 表示 compute html

package property;

public class CodeTestO {

    public static void main(String[] args) {
        

    }

    
    /**
   * 二進制數相加 1+0 = 1 0+1 = 1 0+0 = 0 1+1 = 10 1+1+1 = 11

* 機器數: * 計算機以二機制0,1儲存數值,8位二進制數是機器數。 * * 真值: * 帶符號的機器數表示的真正數值是真值。 * * * 正數的原碼,反碼,補碼相同 * * * 原碼,反碼,補碼 * * 原碼:最高位是符號位 1 :負 0:正 * * 符號位加真值的絕對值 * * 反碼: * * 符號不變,其它為取反 * * 補碼: * * 符號位不變,其他為取反,然後加1 * * * 原碼: * 1 + (-1) = 0000 0001(原) + 1000 0001(原) = 1000 0010 (原) = -2 * * 反碼作用: * 解決減法運算的問題 * 1 + (-1) = 0000 0001(原) + 1000 0001(原) = 0000 0001(反) + 1111 1110(反) = 1111 1111(反) = 1000 0000(原) = -0 * * * 補碼作用: * 補碼:解決+0(0000 0000)和-0(1000 0000)的問題,而且可以多表示一位數值-128 * * * 原碼與反碼的範圍是 -127 --- +127 * * 補碼的範圍是 -128 --- +127 * * -128 沒有原碼與反碼 [1000 0000](補) -----> -128 * * 計算機沒有減法,只有+(-) * * -128 = -1 + (-127) = 1000 0001(原)+1111 1111 (原) = 1111 1110(反)+ 1000 0000(反) = 1111 1111(補)+ 1000 0001(補) = 1000 0000(補) * *
*/ }

https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html

https://jingyan.baidu.com/article/86112f135745432736978776.html

原碼,反碼,補碼