2013-12-15 3 views
2

BitSet не устанавливает правильное значение, когда я печатаю егоBitSet не устанавливая правильное значение

#include <bitset> 
#include <iostream> 

using namespace std; 

int main() 
{ 
    bitset<16> b = 01010; 
    std::cout << b; 
} 

1010 в двоичном виде 1111110010 пока он печатает 0000001000001000

+2

'01010' является * восьмеричным * литералом ... –

+0

Просто подсказка: когда вы не получаете ожидаемых результатов, посмотрите на вход и убедитесь, что это то, что вы думаете. –

+3

Если вы собираетесь что-то винить, обвините стандартные библиотеки в прошлом ... –

ответ

4

Ваш вопрос, что вы размещаете 0 в перед вашим номером, и поэтому он читается так, как если бы он был восьмеричным значением. Удалите 0, и все должно работать.

Смежные вопросы