我从来没有使用过>>和<<操作符,不是因为我从来不需要它们,而是因为我不知道我是否可以使用它们,或者我应该使用它们.
100 >> 3输出12而不是12.5.为什么是这样.也许学习哪里最好使用右移会隐含地回答,但我很好奇.
Ano*_*on. 13
右移不是分裂
让我们看一下右移 实际上做了什么,它会变得清晰.
首先,回想一下,一个数字作为二进制数字的集合存储在内存中.如果我们有8位内存,我们可以存储2 00000010和5 00000101.
右移取这些数字并将它们移到右边.例如,通过一个右移我们上面两个数字会给00000001和00000010分别.
请注意,最低位(最右边)完全偏离末尾,对最终结果没有影响.