tilde operator returning -1, -2 instead of 0, 1 respectively
I'm kind of puzzled by this. I thought the ~ operator in C++ was supposed to work differently (not so Matlab-y). Here's a minimum working example: #include <iostream> using namespace std; int main(int argc, char **argv) { bool banana = true; bool peach = false; cout << banana << ~banana << endl; cout << peach << ~peach << endl; } And here's my output: 1-2 0-1 I hope someone will have some insight into this. This is exactly what should happen: when you invert the binary representation of zero, you get negative one; when you invert binary representation of one, you get negative two in two's