Assembly 汇编MIPS:通过移位将十进制数转换为二进制数
我很难弄清楚如何在寄存器中保留用“srl”指令进行除法的余数,以打印带有二进制值的整数 f、 e.如果t1是我们想要转换的数字,我们在一个循环内使用带2的右移逻辑将其除以:Assembly 汇编MIPS:通过移位将十进制数转换为二进制数,assembly,binary,mips,Assembly,Binary,Mips,我很难弄清楚如何在寄存器中保留用“srl”指令进行除法的余数,以打印带有二进制值的整数 f、 e.如果t1是我们想要转换的数字,我们在一个循环内使用带2的右移逻辑将其除以: loop: srl $t2, $t1, 2 #number/2 beq $t2, '0', exit #if the quotient is 0, exit the loop j loop exit: 如何在srl命令后保留余数,然后倒带余数的位以打印二进制数?您可以将$t1向左
loop:
srl $t2, $t1, 2 #number/2
beq $t2, '0', exit #if the quotient is 0, exit the loop
j loop
exit:
如何在srl命令后保留余数,然后倒带余数的位以打印二进制数?您可以将$t1向左移动29(31-2),然后再向右移动。这将为您保留原始$t1中的最低两位 这当然是假设一个32位整数大小 例如,假设从值5开始。 那你有
0000 0101
向左移动29
1000万
然后,返回:
0000 0001
哪个是余数。使用按位
和
。注:srl
by2
不是除以2
,而是除以4
。如何打印?你到底想要什么样的结果?十进制是如何产生的(我以为寄存器中已经有了一个整数,而不是十进制字符串)?我已经有了t1中的整数,所以我想把整数打印成二进制。f、 e.如果输入为9,则输出应为1001