原碼,反碼,補碼,移碼計算

來源:互聯網
上載者:User
一:對於正數,原碼和反碼,補碼都是一樣的,都是正數本身。  對於負數,原碼是符號位為1,數值部分取X絕對值的二進位。                   反碼是符號位為1,其它位是原碼取反。       補碼是符號位為1,其它位是原碼取反,未位加1。       也就是說,負數的補碼是其反碼未位加1。                  移碼就是將符號位取反的補碼
1011原碼:01011 反碼:01011  //正數時,反碼=原碼補碼:01011  //正數時,補碼=原碼移碼:11011  //原數+10000-1011原碼:11011反碼:10100  //負數時,反碼為原碼取反補碼:10101  //負數時,補碼為原碼取反+1移碼:00101  //原數+100000.1101原碼:0.1101 反碼:0.1101  //正數時,反碼=原碼補碼:0.1101  //正數時,補碼=原碼移碼:1.1101  //原數+1-0.1101原碼:1.1101反碼:1.0010  //負數時,反碼為原碼取反補碼:1.0011  //負數時,補碼為原碼取反+1移碼:0.0010  //原數+1

0 的原碼

+0:  0000 0000         -0 :1000 0000  
0的補碼
+0: 0000 0000          -0: 0000 0000
0的移碼(補碼符號位取反)
+0&-0:1000 0000
二:在電腦中,實際上只有加法運算,減法運算也要轉換為加法運算,  乘法轉換為加法運算,除法轉換為減法運算。三:在電腦中,對任意一個帶有符號的二進位,都是按其補碼的形式進行運算和儲存的。        之所以是以補碼方式進行處理,而不按原碼和反碼方式進行處理,是因為在對帶有符號位的  原碼和反碼進行運算時,電腦處理起來有問題。      而按補碼方式,一方面使符號位能與有效值部分一起參加運算,從而簡化運算規則.   另一方面使減法運算轉換為加法運算,進一步簡化電腦中運算器的線路設計         四:補碼加、減運算公式    1):補碼加法公式   [X+Y]補 = [X]補 + [Y]補        2):補碼減法公式            [X-Y]補 =  [X]補-[Y]補 = [X]補 + [-Y]補           其中:[-Y]補稱為負補,求負補的辦法是:對補碼的每一位(包括符合位)求反,且未位加1.五:由補碼求原碼    已知一個數的補碼,求原碼的操作分兩種情況:   如果補碼的符號位為“0”,表示是一個正數,所以補碼就是該數的原碼。   如果補碼的符號位為“1”,表示是一個負數,求原碼的操作可以是:符號位為1;其餘各位取反,然後再整個數加1。
文章轉自:http://blog.csdn.net/cc_lq/article/details/7359584

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.