Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
dynamic_bitset :: to_ulong()を使用して2進数を10進数に変換しようとすると、奇妙なことが起こりました。私の元の番号は1010101で、10進数で85です。ただし、次のコードは代わりに55を出力します。私はそれを理解することはできません。私のコンパイラはMingWです。
boost::dynamic_bitset<> db(10,BOOST_BINARY(1010101)); cout<<db.to_ulong()<<endl; //should be 85.
10進数の85は16進数の0x55です。iostreamフラグを確認してください。
#include <iostream> #include <iomanip> std::cout << std::dec << n << std::endl; // formats as decimal