Language agnostic 评估换档结果的快速方法

Language agnostic 评估换档结果的快速方法,language-agnostic,binary,hex,bit-manipulation,bit-shift,Language Agnostic,Binary,Hex,Bit Manipulation,Bit Shift,如果我想快速查看执行移位(左/右)的代码的结果,我通常写下二进制表示并执行移位。 但对于4的移位,写入十六进制表示并将字符/数字1移到左/右位置实际上更快? 还有其他技巧吗?基本上,移位4位就是删除1个十六进制,因为每个十六进制数字在二进制中是4位。因此,移动8位就像删除2个十六进制,以此类推 如果你愿意,你也可以用八进制做同样类型的移位,虽然我们用3代替4位 或者,如果希望看到十进制而不是八进制或十六进制的翻译,可以将移位视为表示除法和乘法的一种方式 向左移动时,可以使用x1>x2作为除以2^

如果我想快速查看执行移位(左/右)的代码的结果,我通常写下二进制表示并执行移位。
但对于4的移位,写入十六进制表示并将字符/数字1移到左/右位置实际上更快?

还有其他技巧吗?

基本上,移位4位就是删除1个十六进制,因为每个十六进制数字在二进制中是4位。因此,移动8位就像删除2个十六进制,以此类推

如果你愿意,你也可以用八进制做同样类型的移位,虽然我们用3代替4位

或者,如果希望看到十进制而不是八进制或十六进制的翻译,可以将移位视为表示除法和乘法的一种方式


向左移动时,可以使用x1>x2作为除以2^x2的形式。请注意,这将适用于正数,而不是负数。

这里有一个技巧:写下二进制表示,然后将移位可视化。别写了。或者把它带到下一个层次:根本不写二进制表示,把一切都可视化。非常适合小数字。顺便说一句,我不认为这是一个真正的主题问题——这不是一个编码问题。你可以背诵一个十六进制数字和四个移位的表,就像乘法表一样。如果没有零值,它的大小是3*15,所以这不会太难。@starblue:
四个移位的心是哪一个?它的位移是1,2,3,4,5,6,7…31bits@Jim0、1、2、3,因为对于四的倍数,可以移动十六进制数字。