DCPU-16按位移位

时间:2012-07-25 18:35:19

标签: binary bit-manipulation bit-shift dcpu-16

我正在努力学习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时为什么会这样。

1 个答案:

答案 0 :(得分:6)

  

寄存器窗口显示0x0010 ...

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

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