二進制運算


一 十進制與二進制互轉【計算機以補碼形式存儲】

1 十進制->二進制【短除法】

  32 0
2 16 0
2 8  0
2 4  0
2 2  0
  1

2 二進制->十進制【按權展開】

十進制 二進制
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
... ...
15 1111
16 10000

當二進制產生進位時,代表的十進制數為2、4、8、16、32、64、128...
列:
二進制數: “1011”
第一個1表示:1的個數
第二個1表示:2的個數
第三個0表示:4的個數
第四個1表示:8的個數
(在此可以類比十進制1011,由1個1000,0個100,1個10,1個1組成。)
所以,二進制數1011由1個8,0個4,1個2,1個1組成。按各位的權列出:

\[ 0000-1011= 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 =11 \hspace{28cm} \]

\[ 0010-0000= 1*2^5 + 0*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 0*2^0 =32\hspace{25cm} \]

二 二進制加減運算

1. 正數的二進制原碼、反碼、補碼都是相同的
   十進制 32
   二進制[8位]
   原碼:0010-0000
   反碼:0010-0000
   補碼:0010-0000
2. 負數
   十進制 -32
   二進制[8位]
   原碼:1010-0000【最高位(符號位)為:1-與運算無關】
   反碼:1101-1111【最高位不變:原碼的反碼】
   補碼:1110-0000【反碼+1】
3. 32+32
   0010-0000
 + 0010-0000
   0100-0000   
4. 32+(-32)
     0010-0000
   + 1110-0000
    10000-0000
     0000-0000【最后溢出最高位移除】
5. -32+(-32)
   1110-0000
 + 1110-0000
  11100-0000【最后溢出最高位移除】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM