The *only* time where you might want to use bits is when bit packing an array.
DIM a(800000000) AS _BYTE is an 800MB array.
DIM b(800000000) AS _BIT is a 100MB array.
That’s a considerable reduction in disk and memory usage, and is the only time when it makes sense to use bits directly.
DIM B AS _BIT is *worthless. The smallest space either in memory, or on your drive, is a byte. By declaring B AS _BIT, you’re just taking that bite, manipulating only one bit in it, and then saving it.
Think of it like trying to compress a file of just 1 byte in size...
All you’re doing is adding complexity, speed reduction, and increased overhead by compressing your 1 byte file, and it’s basically the same when using bits.
As I’ve said before, think of a PC as a bus stop. Buses drive back and forth between those stops, and they carry people inside them. Everyone is familiar with buses and how they work, right?
Then think of it as bits = people. Bytes = buses. You can only drive buses from stop to stop (or from drive to memory register, in the case of bytes); not people. The only time it makes sense to talk about those people is once they’re packed on the bus.
“A first bus out of Tucson ran into a brick wall yesterday, killing 3 passengers!”
“The first byte in this structure has 3 bits representing: male/female, living/dead, republican/democrat.”
Unless you’re bitpacking an array, use _BYTE.