1

我正在尝试学习 DCPU。

;Set b to 1
SET B,1 ;00001 (1)
SHL B,1 ;00010 (2)
SHL B,1 ;00100 (4)
SHL B,1 ;01000 (8)
SHL B,1 ;10000 (16)

我所做的只是向左移动,所以它不应该只是在每次移动时自动翻倍。在我的代码中,您可以看到我有最后一个班次将注册表 B 变为 16,但是当运行 B 时最终变为 10,为什么会这样。

4

1 回答 1

7

注册窗口显示 0x0010 ...

你得到了正确的答案,你只是在hexadecimal中查看它。

以数字开头的数字0x是表示十六进制数字的标准方式;所以这个数字0x0010实际上是数字 10 16 (“以十六为底的一个零”),在十进制中,它是数字十六。

于 2012-07-25T20:16:25.877 回答