我想。減去92H-64H兩個的互補和國家進位標誌位C和溢出標誌位V是否是1或0 到目前爲止,轉換和十進制檢查,這是沒有問題的 146-100=46=2EH
但我迷失在執行減法來逐位檢查位。我可以想象它是用二進制完成的,但是怎麼做?感謝任何幫助!十六進制U2減法
Q
十六進制U2減法
0
A
回答
0
你必須以二進制運行。十六進制不過是一個簡單的(少於數字的)方法來顯示內部二進制數字。
這就是說,你兩個數字:
92h - 64h
。我假設你用8位工作。將它們轉換成二進制:1001 0010 - 0110 0100
要。減去使用C2,在第二個號碼,0110 0100
反轉其位:1001 1011
添加一個:1001 1011 + 1 = 1001 1100
這個新號碼添加到先前的第一number:
1001 0010
1001 1100
---------
10010 1110
進位是第9位b它的這一點。在這種情況下是1. 溢出位的計算方法如下:在每個數字的第8位中加上:1,1,1和0.這些是每個數字的符號位。
如果操作數1和2的兩個符號都相同,則結果的符號不同。在其他情況下,沒有溢出。
此外,兩個操作數的符號是相同的(1),但結果的符號不是(它是0),所以這裏有溢出。
順便說一句,這個加法的結果(取其低8位,丟棄進位位)是原始減法的結果。
加法的結果是0010 1110
,它是十六進制的2E
。
所以92h - 64h = 2Eh
,進位是1
,溢出是1
。
相關問題
- 1. 十六進制加減
- 2. 加/減十六進制
- 3. 補碼十六進制減法
- 4. 十六進制串&十六進制
- 5. 將十進制轉換爲十六進制和十六進制
- 6. 減去文本框(十六進制)
- 7. 十六進制
- 8. 十六進制
- 9. 十六進制
- 10. 十六進制加法C++
- 11. 十六進制和算法
- 12. 十六進制表示法
- 13. 十六進制乘法
- 14. 將十六進制轉換爲二進制到十六進制?
- 15. 大十六進制字符串的算術加法和減法
- 16. 快速2的補碼減法/加法十六進制
- 17. 十六進制爲十進制
- 18. 十六進制和十進制轉換
- 19. 使用十進制或十六進制
- 20. Javascript十進制到十六進制
- 21. 轉換十六進制到十進制
- 22. Python十六進制
- 23. 加十六進制
- 24. 十六進制值
- 25. Console.WriteLine(十六進制)
- 26. 爲十六進制
- 27. 從十六進制
- 28. 0x00000000十六進制?
- 29. 在C++中將十六進制十六進制字符標記爲十進制
- 30. 十六進制和十六進制十進制之間的區別
「減去92H-64H在兩個補碼中」 - 這是否意味着你需要減去每個數字的* 2補碼*? – usr2564301