左移运算符(<<)和右移运算符(>>)

左移运算符 <<

a << b, 指将 a 转化为二进制后将所有数字向左移动 b 位, 末尾用 0 补齐.

可以简单理解为在末尾添上 b 个 0 的操作.

举例

  • 1 << 3 = 8

这里二进制的 1 变为 1000, 即十进制的 1 变为 8.

  • 3 << 4 = 48

这里二进制的 11 变为 110000, 即十进制的 3 变为 48.

EXTRA (很常用!)

1 << x = 2 ^ x

理由很简单, 转化为二进制就可以发现规律.

右移运算符 >>

与左移运算符类似.

a >> b, 指将 a 转化为二进制后将所有数字向右移动 b 位, 前端用 0 补齐, 小数位部分舍去.

举例

  • 8 >> 3 = 1

这里二进制的 1000 变为 1, 即十进制的 8 变为 1.

与左移运算符相比, 右移运算符用的要少一些.

左移运算符(<<)和右移运算符(>>)

上一篇:1387. 家的范围


下一篇:Binding(三):资源和ValueConverter