Хранятся ли данные в обратном порядке?

Я пытался std::bitsetи после получения неправильных результатов некоторое время я заметил, что результаты были в обратном порядке. Попытка поиска на странице cppreference, но не смог найти источник по этому вопросу и, следовательно, требуется подтверждение. Это должно быть поведение по умолчанию для разных компиляторов тоже?

#include <iostream>
#include <bitset>
using namespace std;

int main() {
    bitset<7> bin('C');
    cout << bin << endl;
    for(int i = 0; i < 7; ++i){ cout << bin[i]; }
    return 0;
}

1000011

1100001

1 ответ

Решение

Из стандарта C++:

При конвертации между объектом класса bitset<N> и значение некоторого целочисленного типа, позиция бита pos соответствует значению бита 1 << pos. Интегральное значение, соответствующее двум или более битам, является суммой их битовых значений.

Другие вопросы по тегам