Многие компиляторы, кажется, сохраняют только 0 или 1 в значениях типа bool, но я не уверен, что это всегда будет работать:
int a = 2; bool b = a; int c = 3 + b; // 4 or 5?