軟考路——碼的世界,軟考路

來源:互聯網
上載者:User

軟考路——碼的世界,軟考路

       參加了軟考之後,第一次接觸到了電腦系統知識的內容,其主要介紹了電腦的結構組成,以及電腦的原理,都是一些很抽象的東西。

       大家都知道電腦中的運算都是通過二進位進行的,但是由於電腦中只有加法運算器,所以在進行減法運算往往會出錯,這也就要求我們要把減法運算轉化為加法運算。於是就出現了各種碼。

1、原碼

       原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位:
              [+1]原 = 0000 0001

              [-1]原 = 1000 0001
       原碼是人腦最容易理解和計算的表示方式.

2、 反碼       反碼的表示方法是:正數的反碼是其本身,負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.
              [+1] = [00000001]原 = [00000001]反
              [-1] = [10000001]原 = [11111110]反
       可見如果一個反碼錶示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.
        反碼:解決負數加法運算問題,將減法運算轉換為加法運算,從而簡化運算規則;
3. 補碼       補碼的表示方法是:正數的補碼就是其本身,負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)
              [+1] = [00000001]原 = [00000001]反 = [00000001]補
              [-1] = [10000001]原 = [11111110]反 = [11111111]補
       對於負數, 補碼錶示方式也是人腦無法直觀看出其數值的. 通常也需要轉換成原碼在計算其數值.

       PS:另一種原碼轉換為補碼的簡便方法:數值部分自低位向高位搜尋,第一個1以及其右的各位0保持不變,第一個1左邊的各位按位取反。

            補碼:解決負數加法運算正負零問題,彌補了反碼的不足。

4、移碼

       移碼的表示方法:不管正負數,只要將其補碼的符號位取反即可。
              [+1] = [00000001]原 = [00000001]反 = [00000001]補=[10000001]移
              [-1] = [10000001]原 = [11111110]反 = [11111111]補=[01111111]移

       

 總結:

          1、正數的原碼、補碼、反碼均為其本身;

          2、負數(二進位)的原碼、補碼、反碼公式:
              反碼 = 原碼(除符號位外)每位取反
              補碼 = 反碼 + 1
              反碼 = 補碼  - 1
              移碼 = 補碼符號位取反

          3、位元中,兩數的補碼之和等於兩數和的補碼。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.