負數怎麼用補碼、反碼、原碼錶示

所謂編碼,就是一種規則,同樣補碼也是一種規則,它的意義在於,我們怎樣從一串0和1組成的排列中解釋出這這串0和1表示的數字是多少。

補碼的規則是:假如變量的位長度是w,補碼令最高位的權重爲-2^{w-1},其它位的權重都是正。比如一個8位的有符號數二進制是10000010,那它的有符號表示應該是x=-2^{7}+2^{1}=-128+2=126

很多人不明白什麼是補碼,就是因爲沒有明白補碼最重要的一點:最高位的權重是-2^{w-1}

同樣的道理,表示負數的方式還有反碼,原碼:

反碼,就是最高位權重定義爲-\left ( 2^{w-1}-1 \right )

原碼,最高位權重定義爲符號位,也就是-1。

由於解碼方式不同,有符號類型的數字在對負數的計算中處理方式也是不同的。由於補碼在計算和表示方式上有多種優勢,目前的編譯器有符號的解碼方式都是使用的補碼。

本人喜歡編程,喜歡計算機,本人喜歡C語言,如果有志同道合的朋友,歡迎添加微信 mybc_0,擴展IT圈人脈,遇到技術問題共同探討,共同進步。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章