小矮人计算机中的负数

问题描述 投票:0回答:1

当我尝试在LMC中用负数进行除法时,我总是陷入循环。例如10/2将给我5,-10 / -2也将工作并得到5。问题是当10 / -2和-10/2 ... 10的除法中只有一个负数时-2-2-2-2-2 = 0; -10--2--2--2--2--2--2 = 0但-10-2-2-2-2-2不等于0。我想到了绝对值,但带给了我无处...现在真的很紧迫。如果有一些聪明的头脑可以向我展示开悟的道路并结束我的痛苦,请。

computer-science cpu-architecture little-man-computer
1个回答
0
投票

我不确定您的操作方式(因为您未发布任何代码),但通常的除法方法是通过反复减去幅度(无符号),然后对符号进行调整。

例如,使用10 / -2,只需从10重复减去2(得到5),然后根据原始符号调整符号。如果除数和除数的符号不同,则结果为负。否则结果为非负数。

© www.soinside.com 2019 - 2024. All rights reserved.