1樓:歷史的天空
可以使符號位能與有效值部分一起參加運算,從而簡化運算規則。
為了使減法運算變成加法運算,並進一步簡化計算機中運算單元的電路設計,所有這些轉換都是在計算機的底層進行的,而我們使用的組合語言、c語言和其他高階語言都使用原始**。得到補碼,使負數成為可加的正數。因此,負數的補碼=模組負數的絕對值。
計算機只能識別0和1,並且使用二進位制,而人們在日常生活中使用十進位制。”正如亞里士多德早些時候指出的那樣,現在廣泛使用十進位制只是因為我們大多數人的生活中都有10個手指。雖然歷史上手指計數(5,10鹼基)的做法比二元或三元計數要晚。
”為了能方便地與二進位制轉換,就使用了十六進位制(24)和八進位制1.數值有正負之分,計算機就用一個數的最高位存放符號(0為正,1為負).這就是機器數的原碼了。
擴充套件資料:
反碼錶示法規定:
正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1.對於二進位制原碼10010求反碼:
((10010)原)反=對正數(00010)原含符號位取反=反碼11101(10010,1為符號碼,故為負)
(11101)二進位制=-2十進位制
對於八進位制:
例如,linux平臺將預設目錄許可權設定為755(rwxrxrxrx-x),八進位制設定為0755,因此umask是許可權位755的倒數,計算umask為0022的過程如下:
原始**0755=逆**0022(逐位解釋:0為符號位,0為7-7,2為7-5,2為7-5)
根據補碼錶示法,正數的補碼與原碼的補碼相同;負數的補碼是在其反碼的末尾加1。
2樓:亂七八糟
1)使符號位能與有效值部分一起參加運算,從而簡化運算規則。
2)使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計 所有這些轉換都是在計算機的最底層進行的,而在我們使用的彙編、c等其他高階語言中使用的都是原碼。
補碼的得來是為了讓負數變成能夠加的正數,所以,負數的補碼=模-負數的絕對值。
計算機只能識別0和1,使用的是二進位制,而在日常生活中人們使用的是十進位制,"正如亞里士多德早就指出的那樣,今天十進位制的廣泛採用,只不過是我們絕大多數人生來具有10個手指頭這個解剖學事實的結果。儘管在歷史上手指計數(5,10進位制)的實踐要比二或三進位制計數出現的晚。"。
為了能方便的與二進位制轉換,就使用了十六進位制(2 4)和八進位制1.數值有正負之分,計算機就用一個數的最高位存放符號(0為正,1為負).這就是機器數的原碼了。
3樓:匿名使用者
其實說簡單點,+1的原因就是為了有符號數多出一個數的編碼,並且消除了+0與-0的表示。
如果不+1,8bits的編碼只能表示-127 ~ 127,而出現+0與-0的編碼,即00000000與10000000。
如果+1後,8bits的編碼能夠表示-128 ~ 127,並且0只有00000000一種表示,而10000000則表示-128。
4樓:匿名使用者
squalzzz 說的很對,我再補充一點吧,計算機中最基本的操作是加法器的運算(如果不清楚加法器可以去了解一下組合語言基礎)。
看一下6 00000110
-5 11111011
兩者二進位制相加,不考慮符號的話 是 1 00000001 取後八位正好是二進位制的1 ,這樣正好可以把二進位制計算化作最簡,忽略符號的考慮,令整個計算機效率上升。
5樓:沙裡波特
補碼,**於數學中【補數】。
常識:時鐘,倒撥 2 小時,可以用正撥 10 小時來代替。
兩位十進位制數(0~99),減一,可以用“加99” 代替。
如:24-1 = 23
24+99 = (1) 23
忽略進位 100,結果,就是相同的。
零和正數,不用變化。 負數,則需要求其補數。
利用補數,用加法,就可以代替減法運算了。
式中的補數 99,等於 100+(-1)。
100,是“計數系統”中,數字總個數,也稱為“模”。
----------
八位二進位制:0000 0000~1111 1111。
對應十進位制:0~255。 共有 256 個數字,模,就是 256。
負數的補碼 = 256+該負數
= 1111 1111 + 1 + 該負數= 1111 1111 + 該負數 + 1=1111 1111-負數絕對值+ 1
其中的“負數絕對值”,就是“正數”。
式中的“1111 1111-負數絕對值”,就是對“正數”取反。
式中的“+ 1”,當然就是“加 1”了。
6樓:軒轅天龍
這個需要理解,這是機器語言!沒必要糾結!知道就可以了!
負數用二進位制怎麼表示,負數用二進位制怎麼表示呀?
在二進位制碼復中,為了區分正負數制,採用最高位是符號位的方法來區分,正數的符號位為0 負數的符號位為1。剩下的就是這個數的絕對值部分,可以採用原碼 反碼 補碼3種形式來表示絕對值部分。原碼最簡單,也最好理解。原碼就是絕對值的二進位製數形式 例如 7的8位二進位制原碼是00000111,7的8位二進位...
有關二進位制,什麼是二進位制
方法就是採用整數部分除以基數2和小數部分乘以基數2取整的方法!例如要把41轉化成二進位制的 2 41 餘1 最低位。2 1 1 最高位。結果就等於101001 例2 把小數轉化成二進位制。取0 取1 取1結果為。把1000轉化為十進位制等於8 因為17大於8 所以17 十進位制 大於 1000 二進...
什麼是二進位制計數法 二進位製數怎麼算?
問題一 什麼是二進位制計數法。要詳細。我是新手。十進位制是 逢十進一。二進位制就是 逢二進一。比如 十進位制下 2 2 4 二進位制下 2換算成二進位制,根據 逢二進一,2 10 換算成了 10 2 10 10 20 又根據逢二進一 10 10 100 逢二進一 就是二進位制的 最根本原理,說白了和...