![]() |
發布時間: 2024-9-19 22:31
正文摘要:大沙把一些基礎的知識說清楚,本文介紹二進制補碼及與原碼的轉換方法。 先說原碼,原碼是一種計算機中對數字的二進制定點表示方法。在原碼表示法中,數值前面增加了一位符號位,最高位為符號位,0表 ... |
通俗的說一下吧,如果是二位十進制,你可以表示0-99之間的整數,如果想表示負數,那只能表示一半的整數和一半的負數了。差個負數的一對數,互補,意思是它們加起來為100,剛好溢出向第三位進位。 那么如果是一個字節,那么它們相加為256,如果二個字節相加為65536 然后我們簡單用一字節來討論,9用二進制來表示為0000 1001,把它各位取反則為1111 0110,這樣加起來就是各位都是1,還得加上1才能向上進位,然后一字節的八位都是0,所以各位取反后還得加1后才是負數的反碼。 |
對的,謝謝學習到了。![]() |
原碼10001001---反面碼11110110----補碼11110111 應該是這個過程吧 |
-9的8位二進制補碼是11110111。 補碼的計算過程 原碼:正數的原碼就是其本身,負數的原碼是其絕對值的二進制表示。例如,9的原碼是00001001,-9的原碼是10001001。 反碼:正數的反碼與原碼相同,負數的反碼是其原碼的每一位取反(0變1,1變0),符號位除外。例如,-9的反碼是11110100。 補碼:補碼是反碼加1。例如,-9的補碼是11110100 + 1 = 11110101,但這是8位二進制表示的錯誤表示,實際正確的補碼是11110111。 通過上述步驟,我們可以得到-9的8位二進制補碼為11110111。 |