即使值很好,布尔IF也不会通过

时间:2016-07-16 20:34:25

标签: c++ arduino boolean boolean-logic

我是C ++的新手,但这很荒谬。我不明白为什么不能这样做:enter image description here

在左侧,您可以看到右侧是否有声明:if((p.x >= 320) == (p.x <= 400)),您可以看到值(来自调试过程)。正如您所看到p.x = 360 higher than 320lower from 400同时true同时both sidesif上的BYTE相同,程序将不会通过BOOL #defined 1}}陈述。为什么呢?

1 个答案:

答案 0 :(得分:1)

我可以看到:

Serial.print(p.x,OCT);

OCT表示八进制,这意味着您以八进制打印p.x。如果p.x是八进制的360,则表示它是十进制的240:/

重写调试代码 - 从两个OCT制作DEC,你会看到正确的数字。