在Arduino中,整数数据类型(int)的范围是-32,768到32,767。如果一个变量的值超过了这个范围,就会发生溢出。
要打印出非溢出的值,可以使用取模运算符(%)来获取非溢出的值。
以下是一个示例代码:
int value = 32767; // 溢出值
int nonOverflowValue = value % 65536; // 取模运算,获取非溢出值
Serial.begin(9600);
Serial.print("Overflow value: ");
Serial.println(value);
Serial.print("Non-overflow value: ");
Serial.println(nonOverflowValue);
在上面的代码中,我们将溢出值赋给变量value。然后,我们使用取模运算符将value除以65536(2的16次方),以获取非溢出的值。最后,我们使用Serial.print()函数将溢出值和非溢出值打印到串口监视器中。
请注意,取模运算符(%)返回的结果是余数,因此,对于非溢出的值,取模运算的结果将与原始值相同。对于溢出的值,取模运算的结果将是非溢出值。