Binary DCPU-16位移位

Binary DCPU-16位移位,binary,bit-manipulation,bit-shift,dcpu-16,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时,这是为什么呢 注册窗口显示0x0010 你得到了正确的答案,你只是在看 以0x开头的数字是表示十六进制数的标准方式;所以数字

我正在努力学习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时,这是为什么呢

注册窗口显示0x0010

你得到了正确的答案,你只是在看

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

注册窗口显示0x0010

你得到了正确的答案,你只是在看


0x
开头的数字是表示十六进制数的标准方式;因此,数字
0x0010
实际上是数字1016(“十六进制中的一个零”),十进制中是数字十六。

您确定没有意外地以十六进制显示注册表值吗?:)我希望我能回答所有的代码都在原始帖子中,注册窗口显示0x0010,所以我很确定这是十六进制的不确定,但我不确定是否有其他方式查看它您确定没有意外地以十六进制显示注册表值吗?:)我希望我能回答所有的代码都在原始帖子中,注册窗口显示0x0010,所以我很确定这是十六进制不确定,但我不确定是否有其他方式来查看它,但不应该是吗0x0016@Bevilacqua-不,0x16将是十进制表示法中的0d22。0x10=0d16=0o20(八进制)=0b10000(二进制);他们都是同一个号码,但不是吗0x0016@Bevilacqua-不,0x16将是十进制表示法中的0d22。0x10=0d16=0o20(八进制)=0b10000(二进制);他们都是同一个号码。