我知道有幾個問題已經解決了這個問題。但是,我的問題在某種程度上有所不同。假設我必須獲得存儲在寄存器中的值(十六進制)的LSB;例如;MIPS;得到十六進制值的LSB
如果寄存器$ T0包含值0xA4,我需要獲得並存儲該值4
如果寄存器$ T0包含價值爲0xBF,我需要獲取並存儲值F
我明白按位AND
操作適用於十進制值。有人可以提供一些關於我如何獲得LSB的幫助嗎?
親切的問候
我知道有幾個問題已經解決了這個問題。但是,我的問題在某種程度上有所不同。假設我必須獲得存儲在寄存器中的值(十六進制)的LSB;例如;MIPS;得到十六進制值的LSB
如果寄存器$ T0包含值0xA4,我需要獲得並存儲該值4
如果寄存器$ T0包含價值爲0xBF,我需要獲取並存儲值F
我明白按位AND
操作適用於十進制值。有人可以提供一些關於我如何獲得LSB的幫助嗎?
親切的問候
您可以輕鬆從要提取LSB本身這樣的數字:
0xA4和爲0x0F
是一樣的(二進制)
10100100B和00001111
這基本上意味着,只有最後四位數字將從二進制數來提取,那就是LSB你想要的。
所有的二元運算工作沿着W¯¯通用寄存器/口罩這僅僅是純數字(不管它們的底層基礎再版的)
雖然86並不MIPS你應該有類似這
and EAX, 0xF
你想$ t0 AND 0x0F – 2013-03-16 22:17:58
「我明白按位AND操作十進制值。」 - 普通的CPU不處理十進制。他們處理二進制。 – Mat 2013-03-16 22:19:04
謝謝Eugen和Mat。馬特,這對我來說非常愚蠢。謝謝你糾正我。 – Triple777er 2013-03-16 22:27:05