在 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)。
广告