В настоящее время я изучаю набор битов, и в одном параграфе говорится об их взаимодействии со строками:
"Соглашения о нумерации строк и наборов битов обратно пропорциональны: самый правый символ в строке - тот, который имеет самый высокий индекс - используется для инициализации младшего бита в наборе битов - бит с индекс 0. "
однако позже они дают пример + диаграмму, которая показывает что-то вроде этого:
string str("1111111000000011001101");
bitset<32> bitvec5(str, 5, 4); // 4 bits starting at str[5], 1100
значение str
:
1 1 1 1 1 (1 1 0 0) 0 0 0 ...
значение bitvec5
:
... 0 0 0 0 0 0 0 (1 1 0 0)
В этом примере показано, что он берет самый правый бит и помещает его так, чтобы последний элемент из строки был последним в наборе битов, а не первым.
Что правильно? (Или оба неверны?)