欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

二進制數(shù)的編碼表示-創(chuàng)新互聯(lián)

數(shù)值信息在計算機內(nèi)是采用二進制編碼表示。數(shù)有正負之分,一般情況下,用"0"表示正號,"1"表示負號,符號位放在數(shù)的最高位。
例如,8位二進制數(shù)A = (+1011011),B = (-1011011),它們在機器中可以表示為:
A:01011011
B:11011011

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了和政免費建站歡迎大家使用!

計算機中幾種常用的編碼----原碼、反碼和補碼。

1.原碼
將符號位數(shù)字化為0或1,數(shù)的絕對值與符號一起編碼,即所謂"符號-絕對值表示"的編碼,稱為原碼。
例如:
整數(shù):
X = +1011011,原碼:[X]原 = 01011011;
X = -1011011,原碼:[X]原= 11011011;
小數(shù):
對于一個帶符號的純小數(shù),它的原碼表示就是把小數(shù)點左邊一位用作符號位。
X = 0.1011,原碼:[X]原 = 0.1011;
X = -0.1011,原碼:[X]原 = 1.1011;

當采用原碼表示法時,編碼簡單直觀,與真值轉(zhuǎn)換方便。但原碼也存在一些問題,一是零的表示不唯一,因為:[+0] = 000···0,[-0] = 100···0  零有二義性,
            給機器判零帶來麻煩。二是用原碼進行四則運算時,符號位需要單獨處理,且運算規(guī)則復雜。例如加法運算,若兩數(shù)同號,兩數(shù)相加,結(jié)果取共同的符號;
            若兩數(shù)異號,則要大數(shù)減去小數(shù),結(jié)果冠以大號的符號。此外,借位操作如果用計算機硬件來實現(xiàn)是很困難的。

2.反碼
反碼很少使用,但作為一種編碼方式和求補碼的中間碼,我們還是要學習一下的。
正數(shù)的反碼與原碼表示相同。
負數(shù)反碼的符號位與原碼相同(仍用1表示),其余各位取反(0變1,1變0)。例如:
X = +1100110, [X]原 = 01100110,[X]反 = +1100110;
X = -1100110,[X]原 = 11100110,[X]反 = 10011001;
X = +0000000,[X]原 = 00000000,[X]反 = 00000000;
X = -0000000,[X]原 = 10000000,[X]反 = 111111111;
和原碼一樣,反碼中的零的表示也不唯一。
當X為純小數(shù)時,反碼的表示如下:
X = 0.1011,[X]原 = 0.1011,[X]反 = 0.1011;
X = -0.1011,[X]原 = 1.1011,[X]反 = 1.0100;

3.補碼
(1)模數(shù)的概念
模數(shù)從物理意義上講,是某種計量器的容量。例如,我們?nèi)粘I钪杏玫降溺姳恚?shù)就是12。鐘表計時的方式就是達到12就從零開始(扔掉一個12),這在數(shù)學上是一種"取模(或取余)運算(mod)"。例如:14%12 = 2。
如果現(xiàn)在的準確時間是6點整,而你的手表指向8點,怎樣把表撥準呢?可以有兩種方法:把表往后撥2小時,或把表往前撥10小時,效果是一樣的。即:
8-2 = 6
(8+10)%12 = 6

  在模數(shù)系統(tǒng)中,8-2 = 8+10 (mod 12)
         上式之所以成立,是因為2與10對模數(shù)12是互為補數(shù)的(2+10 = 12)。因此,可以認可這樣一個結(jié)論:在模數(shù)系統(tǒng)中,一個數(shù)減去另一個數(shù),或者一個數(shù)加上一個負數(shù),等于第一個數(shù)加上第二個數(shù)的補數(shù):
                                                                                                                                                 8+(-2) = 8+10 (mod 12)
            我們稱10為-2在模12下的"補碼"。負數(shù)采用補碼表示后,可以使加減法統(tǒng)一為加法運算。
            在計算機中,機器表示數(shù)據(jù)的字長是固定的。對于n位數(shù)來說,模數(shù)的大小是:n位數(shù)全為1,且末位再加1。實際上模數(shù)的值已經(jīng)超過了機器所能表示的數(shù)的范圍,因此模數(shù)在機器中是表示不出來的。若運算結(jié)果大于模數(shù),則模數(shù)自動丟掉,也就等于實現(xiàn)了取模運算。
            如果有n位整數(shù)(包括一位符號位),則它的模數(shù)為2^n;如果有n位小數(shù),小數(shù)點前一位為符號位,則它的模數(shù)為2。

    ***(2)補碼表示法***
    由以上討論得知,對于一個二進制負數(shù),可用其模數(shù)與真值做加法(模減去該數(shù)的絕對值)求得其補碼。
    例:  X = -0110    [X]補 = 2^4 + (-0110) = 1010
             X = -0.1011  [X]補 = 2 + (-0.1011) = 1.0101
                     由于機器中不存在數(shù)的真值形式,用上述公式求補碼在機器中不易實現(xiàn),但從上式可推導出一個簡便方法。
                     "對于一個負數(shù),其補碼由該數(shù)反碼的最末位加1求得。"
                    "對于正數(shù)來說,其原碼、反碼、補碼形式相同?!?
                    補碼的特點之一就是零的表示唯一。
                      [+0]補 = 0 0 ···0           [-0]補 = 1 1 ··· 1 + 1 = 1 0 0 ··· 0
                                      |_____|                        |______|          |  |______|
                                                       n位                               n位              |      n位
                                                                                               |_ _ _ _ _ _ _ 自動丟失 
                    這種簡便的求補碼方法經(jīng)常被簡稱為"求反加1"。

(3)補碼的運算規(guī)則
采用補碼表示的另一個好處就是當數(shù)值信息參與算術(shù)運算時,采用補碼方式是最方便的。首先,"符號位可作為數(shù)值參加運算,"最后仍可得到正確的結(jié)果符號,符號無需單獨處理;其次,采用補碼進行運算時,減法運算可轉(zhuǎn)換為加法運算,簡化了硬件中的運算電路。
例如:
計算67-10=?
[+67]原 = 01000011, [+67]補 = [+67]原
[-10]原 = 10001010, [-10]補 = 11110110

      0 1 0 0 0 0 1 1        [+67]補
            +  1 1 1 1 0 1 1 0        [-10]補
            ——————————————
             1 0 0 1 1 1 0 0 1   = 57
              |____________________________ 最高位的進位自然丟失
                 由于字長只有8位,因此加法最高位的進位自然丟失,達到了取模效果(即丟掉了一個模數(shù))。
                 應(yīng)當指出,"補碼運算的結(jié)果仍為補碼。" 上例中,從結(jié)果符號位得知,結(jié)果為正,所以補碼即原碼,轉(zhuǎn)換成十進制數(shù)為57。
       如果結(jié)果為負,則是負數(shù)的補碼形式,若要變成原碼,需要對補碼再求補,即可還原為原碼。
 例如:
         10 - 67 = ?
                 [+10]原 = 00001010 = [+10]補
                 [-67]原 = 11000011     [-67]補 = 10111101

                        0 0 0 0 1 0 1 0
                +  1 0 1 1 1 1 0 1
                ——————————
                      1 1 0 0 0 1 1 1

                            [結(jié)果]補 = 11000111,[結(jié)果]原 = 10111001
                            所以結(jié)果的真值為-0111001,十進制為-57。

                    以上兩個例子是否就可以說明補碼運算的結(jié)果總是正確的呢?請看下面的例子:
例如:
        85 + 44 = ?
                      0 1 0 1 0 1 0 1
                    +  0 0 1 0 1 1 0 0
                ———————————
                          1 0 0 0 0 0 0 1
                    從結(jié)果的符號位可以看出,結(jié)果是一負數(shù)。但兩個整數(shù)相加不可能是負數(shù),問題出在什么地方呢?原來這是由于"溢出"造成的,即結(jié)果超出了一定位數(shù)的二進制數(shù)所能表示的數(shù)的范圍。

            以上內(nèi)容節(jié)選自清華大學出版社《C++語言程序設(shè)計(第4版)》

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享題目:二進制數(shù)的編碼表示-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://chinadenli.net/article20/depsjo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)站建設(shè)、搜索引擎優(yōu)化、建站公司、域名注冊、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)