总结下个人对C语言中左移右移<< >>的理解:
个人比较容易忘记这个,最直接简单地方法就是用程序员计算器来算一下。
如,
我们敲出十进制的16,对应的二进制就是 1 0000
那么现在对二进制进行右移1位,就变成 0 1000,这对应的十进制就是8,也就是16/2。
如果继续右移动1位,变成了0 0100,对应的十进制就是4,也就是16/2/2。
我一般不会太刻意去记住什么左移,去掉高位,低位补0,举个例子简单明了。
右移同上即可。
十进制 | 二进制 | Note |
16 | 1 0000 | 16 |
8 | 0 1000 | 16/2 |
4 | 0 0100 | 16/2/2 |
以上内容纯属个人笔记~