二十三,ESP32 按AND 位运算符

一,介绍

在本例程中,我们将在arduino核心上使用AND位运算符。在ESP32 上面运行。

请注意,这是一个C/C++ 的运算符,这意味着我们可以在arduino 支持的其他微控制器的程序中以及通用的C/C++ 程序中使用它。

在二进制中,AND 运算符是双目运算符。产生的结果是一位。如果输入位均为1,则结果为1,对于其他输入组合。结果都为0。你可以在图1的真值表中查询。以及所有的输入组合。

二十三,ESP32  按AND 位运算符
图1

在C/C++中,当我们按位AND运算符应用于两个数时,他将二进制AND应用于同一位置和的每对位。因此我们有二进制数

0000111111110011,我们将以00000011结束。

此运算符的语法如下所示,我们将AND运算符应用于x和y。

二,硬件

  • ESP32开发板

三,电路图

四,代码设计

本教程的代码非常简单,我们将在arduino IDE上编写。首先,我们打开一个串行连接来输出我们程序的结果。

Serial.begin(115200);

然后,我们将声明两个数字并用他们来进行按位AND运算符。先,我们将声明值10,它以二进制表示为00001010。请注意,这仅对应于最低有效字节,因为组成整数值的其他字节的其余位为零。

int x = 10;

就像一个注释,在两个平台中,整数用4个字节表示。您可以使用sizeof函数确认这一点,该函数应用于  int 数据类型。

现在我们将声明数字3,它对应于二进制的00000011

int y = 3;

最后,我们将打印将按位AND运算符应用于这两个数字的结果。预期结果是00000010,对应于十进制数2

int z = x & y;
 
Serial.println(z);

最终的源代码如下所示。

void setup() {
  Serial.begin(115200);
 
  int x = 10;
  int y = 3;
  int z = x & y;
 
  Serial.println(z);
 
}
 
void loop() {
}

五,代码测试

要测试代码,只需编译它并使用Arduino IDE将其上传到您的设备。然后,打开串行监视器。你应该得到类似于图2的输出,它输出值2,正如我们之前分析的那样。

二十三,ESP32  按AND 位运算符
图2

为了便于确认按位二进制运算,下面的图3是我们使用的数字的表示,以二进制表示。

二十三,ESP32  按AND 位运算符
图3
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论