PS:正數(shù)的原碼萍膛、反碼吭服、補碼都一致
原碼
最高位表示符號位,其他位存放該數(shù)的二進制的絕對值
計算機原始的表示數(shù)值的方法蝗罗,15的原碼 0000 1111
反碼(將對應正數(shù)的值取反)
負數(shù)的反碼就是它的原碼除符號位外艇棕,按位取反。
這樣減法計算就可以用加法來代替串塑,計算的結果如果是負值需要將結果取反才能得到正確的結果(據(jù)說計算機中減法的電路設計比較麻煩而且貴沼琉,后來移除掉了)
關于‘模’
“淖耍”是指一個計量系統(tǒng)的計數(shù)范圍打瘪。如時鐘等。任何事物把首尾相連形成一個圓的時候就出現(xiàn)了模,退x步跟進max-x步能到達同一個位置闺骚。
補碼
補碼=反碼+1
反碼有一個問題
+0和-0現(xiàn)實世界中是同一個東西
+0(原碼 0000 0000 反碼 0000 0000)
-0(原碼1000 0000 反碼 1111 1111 補碼 0000 0000)
但是反碼表示的時候卻不一樣彩扔,+0和-0相加表示 0-0 沒問題,但是非0和0的減法用加法來處理的話就不對了僻爽。
計算機中各種類型數(shù)也滿足‘某娴铮’的規(guī)律,
所以 m - n 可以轉換成 m + (max - n)胸梆,“max - n” 就是 n 的補碼敦捧,并且還有一個定理 “補碼=反碼+1”,所以就可以完全轉換成加法運算碰镜,并且解決了 +0和-0表示不一致的問題绞惦。