使用 Arduino 读取数字的特定位


每个数字都有一个特定的二进制表示形式。例如,8 可以表示为 0b1000,15 可以表示为 0b1111,依此类推。如果您希望读取数字的特定二进制位,Arduino 提供了一种内置方法。

语法

bitRead(x, index)

其中,x 是您要读取二进制位的数字,索引 是您要读取的二进制位。0 对应于最低有效位(最右边)二进制位,依此类推。

此函数根据数字中该二进制位的数值返回 0 或 1。

示例

以下示例将阐明此函数的使用方式 −

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();
   int x = 8;

   Serial.println(bitRead(x,0));
   Serial.println(bitRead(x,1));
   Serial.println(bitRead(x,2));
   Serial.println(bitRead(x,3));
   Serial.println(bitRead(x,4));
   Serial.println(bitRead(x,5));
   Serial.println(bitRead(x,6));
   Serial.println(bitRead(x,7));
}

void loop() {
   // put your main code here, to run repeatedly:
}

输出

串口监视器输出如下所示 −

正如您所见,只有第 3 位的二进制位为 1,而其他所有二进制位为 0,这对应于 8 的二进制表示形式:0b00001000

更新日期:2021-5-31

2K+ 次浏览

开启你的职业

完成课程获得认证

开始使用
广告
© . All rights reserved.