<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                總所周知,計算機內部的所有數都是以二進制的形式存在的。而二進制在計算機里又有多種編碼方式——原碼、反碼、補碼等。而在這些編碼方式里面用得最多的不是最簡單、最直接的原碼而是補碼。這是為什么呢?想搞懂這個問題首先得明白什么是原碼、反碼以及補碼,如果你對他們還不太了解,那就先看看我另一篇博客——[原碼、反碼、補碼其實很簡單](http://blog.csdn.net/liushuijinger/article/details/7429197)。如果你對他們已經很熟悉,那么我們繼續往下看。 A、B、C三種相似的東西,選C而不選A和B,那么C肯定具有其他兩者所沒有的優勢。那么補碼究竟有什么優勢讓他備受青睞呢?下面我們具體的分析一下: **原碼:** 原碼的特點就是編碼簡單直觀,與真值轉換非常方便。既然原碼這么好,那為什么不選他而選補碼呢?接下來就是不選他的關鍵所在,雖然原碼非常的簡單直觀,但是當用原碼表示0的時候就會出問題。0用原碼表示分為+0和-0,當機器字長為8時, **[+0]原=00000000,[-0]原=10000000。** 這就有問題了,同一個數卻有兩種表示,產生了二義性,從而給機器判斷0帶來了麻煩;二是用原碼運算時,符號位需要單獨處理,而且運算規則很復雜。例如加法運算,若兩個數異號,則先要讓絕對值大的數減去絕對值小的數,然后把絕對值大的數的符號付給結果。還有就是,借位操作如果用計算機硬件實現起來是很困難的。正是因為原碼有這些不足之處,才促使人們研究其他的編碼方法。 **反碼:** 反碼很少會被用到,他主要的用途就是作為原碼與補碼的一個橋梁。他和原碼一樣對0有兩種表示方法, **[+0]反=00000000,[-0]反=11111111。** 不采用反碼的原因跟原碼差不多,就不贅述了。 **補碼:** 說到補碼,就不得不引人另一個概念——模數。模數從屋里意義上講是某種計量器的容量。這里我們經常舉的一個例子就是鐘表,其模數為12,即每到12就重新從0開始,數學上叫取模或求余(mod),java、C#和C++里用%表示求余操作。例如: **14%12=2** 如果此時的正確時間為6點,而你的手表指向的是8點,如何把表調準呢?有兩種方法:一把表逆時針撥兩個小時;二是把表順時針撥10個小時,即 **8-2=6** **(8+10)%12=6** 也就是說在此模數系統里面有 **8-2=8+10** 這是因為2跟10對模數12互為補數。因此有一下結論:在模數系統中,A-B或A+(-B)等價于A+[B補],即 **8-2/8+(-2)=8+10** 我們把10叫做-2在模12下的補碼。這樣用補碼來表示負數就可以將加減法統一成加法來運算,簡化了運算的復雜程度。 采用補碼進行運算有兩個好處,一個就是剛才所說的統一加減法;二就是可以讓符號位作為數值直接參加運算,而最后仍然可以得到正確的結果符號,符號位無需再單獨處理。 以上就是我對原碼、反碼、補碼的一些膚淺理解,希望對大家有所幫助,同時歡迎各位高手不吝賜教!感激不盡! [](http://blog.csdn.net/liushuijinger/article/details/7429197)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看