我们可以使用>>进行转换运算符,我们可以使用'/'来划分java。我要问的是当我们进行这些操作时,幕后真的发生了什么,两者是完全相同还是不相同......?
答案 0 :(得分:2)
不,绝对不一样。
您可以使用>>
来划分,是,但只是2,因为>>
将所有位移到右边,结果除以2的数字。
这只是因为二进制基本操作的工作原理。适用于无符号数字,对于有符号数字,它取决于您使用的编码以及它的转换类型。
例如
122 = 01111010 >> 1 = 00111101 = 61
答案 1 :(得分:0)
检查一下有关位移的说明: What are bitwise shift (bit-shift) operators and how do they work?
一旦你理解了这一点,就应该理解它与除法操作之间的区别。