set 0x8675309F, %o1
sra %o1, 16, %o1
有人可以解释一下 sra 应该在这里做什么,我知道这是右移算法,但它在这条指令中到底做了什么。我也知道如何将十六进制数转换为十进制数和从十进制数转换为二进制数,但是有没有更简单的方法来对十六进制数进行逻辑门运算?例如,如果我想 AND 或 OR 或 XOR 两个十六进制数字,我将如何去做?我知道它是如何用二进制完成的,但是有没有办法用十六进制来做到这一点,或者你需要转换成二进制,然后对所述二进制数进行逻辑门操作?
这是我的尝试:答案将是 0x8675,所以这就是我所做的(不确定这是否正确)我将十六进制数转换为十进制数,然后从十进制数转换为二进制数,这是我进行右移操作的地方右移 16 位(或在二进制数前面添加 16 个零),然后我再次转换为十六进制。问题是要转换回十六进制我必须使用在线转换器并将十进制转换为二进制我还使用了转换器(因为数字非常大),问题是在检查任何类型时我都不会能够使用在线转换器,那么解决此类问题的最快方法是什么?
对十六进制数进行逻辑门 AND 或 XOR 运算怎么样,我是否必须转换为二进制数,或者无论如何我可以对十六进制数执行逻辑门运算?