回覆列表
  • 1 # 使用者3937226028394

    為了簡單 下面用一個位元組表示一個整數

    -54 原碼 10110110 反碼 11001001 補碼 11001010

    -30 原碼 10011110 反碼 11100001 補碼 11100010

    反碼相加

    11001001+11100001 -> 10101010+1=10101011 -> (取反) 11010100(-84)

    補碼相加

    11001010+11100010 -> 10101100 -> (取補碼) 11010100 (-84)

    反碼:一個數如果為正,則它的反碼與原碼相同;

    一個數如果為負,則符號位為1,其餘各位是對原碼取反。

    兩個數的二進位制反碼求和的運算規則:

    1、從低位到高位逐列進行運算;

    2、0+0=1,0+1=1,1+1=0(進位1加到下一列);

    3、最高位相加產生的進位,要在最後的結果加1.

    補碼:一個數如果為正,則它的原碼、反碼、補碼相同;

    一個數如果為負,則符號位為1,其餘各位是對原碼取反,然後整個數加1。

    補碼加減法運演算法則如下:

    1、參加運算操作的數都用補碼錶示。

    2、資料的符號與資料一樣參加運算。

    3、求差時將負減數求補,用求和代替求差, 將減法運算轉化為補碼的加法運算。

    4、運算結果為補碼。如果符號位為 0 ,表明運算結果為正;如果符號位為 1 ,則表明結果為負。

    5、符號位的進位為模值,應該去掉。

  • 中秋節和大豐收的關聯?
  • 對於“狗腿子”你是怎麼理解?