在 Arduino 中打印二进制值


要在 Arduino 中打印数字/字符的二进制表示,可以在你的 Serial.print() 函数的第二个参数中添加“BIN”。示例如下所示−

示例

void setup() {
   // put your setup code here, to run once:
   Serial.begin(9600);
   Serial.println();
   Serial.println(75);
   Serial.println(75, BIN);
   Serial.println('A');
   Serial.println('A',BIN);
   Serial.println(1.912,BIN);
}
void loop() {
   // put your main code here, to run repeatedly:
   
}

以上代码在串行监视器中的输出如下所示−

如你所见,这仅适用于整数和字符,而不适用于浮点数字。对于字符,将打印该字符的 ASCII 等效项的二进制值。你可以访问此处的 ASCII 表:https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html。对于负整数,结果有点奇怪。例如,Serial.print(-75,BIN) 会输出 11111111111111111111111110110101,它转换为十进制值 4294967221,对应于 (2^32 – 75)。所以本质上,打印的值对应于整数溢出。当然,这种输出将在使用 4 个字节(32 位)来表示整数的板上显示。如果你使用的是使用两个字节(16 位)来表示整数的板,输出将是 (2^16 – 75)。

更新于: 23-Mar-2021

10K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

开始
广告