The object it's inside will still take up at least one byte.
sizeof(struct {bool a:1;}) == sizeof(char);
Amortization.
If one Boolean must be a byte then 8 must be eight bytes. Which is not true. A boolean can be 1/8th of a byte which is a meaningful distinction.
3^5 is 243 so one could also call an optional Boolean 1/5th of a byte, though 1/4 is so much simpler to read and write.
Amortization.
If one Boolean must be a byte then 8 must be eight bytes. Which is not true. A boolean can be 1/8th of a byte which is a meaningful distinction.
3^5 is 243 so one could also call an optional Boolean 1/5th of a byte, though 1/4 is so much simpler to read and write.