Question

For the first time, I initialized a bit set using a string and found out that the bits are stored in reverse order, i.e.:

bitset<3> test(string("001"));

then the bits are stored as bellow: test[0] = 1 test[1] = 0 test[2] = 0

I am not sure if I'm doing something wrong or this is the way it should be.

Was it helpful?

Solution

This is the way it should be. Bits stored in a bitset are ordered in such a way so that the index of a bit is the factor it is raised by.

In other words, the value at test[0] is the 2^0 bit, test[1] is 2^1, test[2] is 2^2, etc.

Endianness has nothing to do with it.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top