这如何用 C 语言编写?如果 $a0 = 43981 ,解决方案应该是什么?
srl $v0, $a0, 4
andi $v0, $v0, 255
我这样做了,但似乎没有产生预期的值。本例中的输入是 43981,它为 v 打印 0
int v = input >> 4;
v = v & 225;
最佳答案
请注意,srl
是右移逻辑(即)它是无符号。另外,在您的 C 中,您正在屏蔽 225
而不是 255
所以,您可能想要:
int v = (unsigned) input >> 4;
v = v & 255;
关于c - Mips 汇编转换为 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39403146/