我正在努力解决这个问题:
提示用户输入数字,以16位二进制补码打印数字
要打印数字,您将每个位打印为字符串" 1" 或字符串" 0",使用一个将在每个中打印一位的循环 迭代。用第15位开始打印。(回想一下,我们对这些位进行编号 从低位开始,从0开始。)在循环测试位15和 然后打印" 1"或" 0"。使用shift指令来获取下一个 在重复之前进入位置15。
我遗憾地错过了一个关于轮班和使用面具的讲座,所以我不太了解我将如何进行这个实验。如何打印数字的特定位?据我所知,我只是继续打印第15位,然后向左移动,但我不知道这会在MIPS中完成。非常感谢任何帮助。
编辑:
我理解这种转变完美,它只是印刷了令我困惑的一点。
例如,如果我想要转换为2的补码的数字是25并且在寄存器$ t0中。
首先我打印第15位。然后我左转。然后我重复15次。
看起来应该是这样的:
# Print bit
sll $t0, $t0, 1
我只是不知道如何在第15点打印第一位。
答案 0 :(得分:1)
打破问题 - 1.如何打印钻头,和 2.如何确定位的值
您已经知道如何确定位的值,您测试位15并继续将其他位移到位置15.
您如何期望"提示用户"输入一个值?打印位是一样的打印提示。
答案 1 :(得分:0)