Arduino 中的按位右移/左移数字
arduinoarduino boardsarduino idearduino programming language
如果您是固件开发人员,那么将数字或寄存器移位一定位数对您来说可能很常见。在 Arduino 中,也可以使用与 C 语言相同的位移运算符,即 << 表示左移 ,>> 表示右移。
语法
x >> n 或 x << n
其中 x 是要位移位的数字,n 是数字应右移或左移的位数。
输出是什么?您将获得通过将数字的二进制表示向左或向右移动那么多位而获得的数字。例如,数字 5 表示为 0b00000101。
如果我将 5 右移 1,我将得到 0b00000010,其中最后一个 1 由于右移而弹出。因此,结果数字为 2。
同样,如果我将 5 左移 2,我将得到 0b00010100,其中两个 0 由于左移而在末尾添加。因此,我们得到 20。
示例
void setup() { // 在此处放置您的设置代码,运行一次: Serial.begin(9600); Serial.println(); int x = 5; Serial.println(x); Serial.println(x >> 1); Serial.println(x << 2); } void loop() { // 将您的主要代码放在此处,以重复运行: }
输出
串行监视器输出如下所示 −
如您所见,打印的输出完全符合我们的预期。