PaulS:
That doesn't mean that the array needs to use 8 times as much memory as needed. You are storing one bit in each byte. Store 8 bits in each byte and use 1/8th the memory.
Hmm I hadn't thought of that. However I want to eventually have more than just 1s and 0s in each byte of my array, so I guess I should leave things as they are for now?