Впервые я инициализировал набор битов, используя строку, и обнаружил, что биты хранятся в обратном порядке, т.е.
bitset<3> test(string("001"));
тогда биты сохраняются как показано ниже:
тест [0] = 1
тест [1] = 0
тест [2] = 0
Я не уверен, что делаю что-то не так или так и должно быть.
Так и должно быть. Биты, хранящиеся в наборе битов, упорядочены таким образом, чтобы индекс бита был фактором, на который он повышен.
Другими словами, значение в test[0]
это бит 2 ^ 0, test[1]
2 ^ 1, test[2]
2 ^ 2 и т. д.
Endianness не имеет к этому никакого отношения.
Других решений пока нет …