2013-12-15 18 views
2

位集沒有設置正確的值,當我打印出來的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,一切都應該工作。