為了簡單 下面用一個位元組表示一個整數
-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、符號位的進位為模值,應該去掉。
為了簡單 下面用一個位元組表示一個整數
-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、符號位的進位為模值,應該去掉。