I am working on what, at this point, is a simple adding machine; 6 buttons +1, +3, +5, -5, -3, -1. It worked fine, until I tried to display a negative sign. The problem is in one simple line of code, the if statement.
displayNumber += 1;
Serial.print("Number = ");
Serial.println(displayNumber);
if(displayNumber >= 0)
flags &= ~(1 << FLAGNEG);
Serial.print("After check, number = ");
Serial.println(displayNumber);
Serial.println(flags, BIN);
serial output:
Number = -4
After check, number = -4
1
// This snippet starts here
Number = -3
After check, number = -3
0
I am pretty sure that if(-3 >= 0)
should evaluate to false, and not change the flags bit. I am either overlooking something extremely simple, or there is something very wrong elsewhere. I could really use a second set of eyes to tell me I have gotten really stupid blind, or give me an idea of where else to look.