0
で数値リテラルを開始すると、これは8進数として解釈されることを意味します。これは、「8分法」を使用したときの意味であり、実際の単語あなたは
進としてこの治療法が標準どおりです:-)それを使用する場合、あなたはおそらく、C++11 2.14.2 Integer literals /1
をいくつかの空白の視線を取得します:
進整数リテラル(基本8)が数字で始まる
0であり、8進数字のシーケンスで構成されています。おそらく最も簡単な方法は、(事前にC++ 14)ビットシフトである二進数について
:
uint32_t n1 = 1u << 3;
uint32_t n2 = 1u << 2;
C++ 14 0x
ものと類似し、0b
プレフィックスを提供16進数のために私はあなたがまだ先行ゼロが多数使用する場合それは、他の選択肢のように読めるのです完全に確信していない:
uint32_t n1 = 0b00000000000000000000000000001000;
uint32_t n2 = 0b00000000000000000000000000000100;
味付けコーダーを、当然のことながら、瞬時にBからマッピングすることができますinaryは、おそらく使用することになりそうHexに:
有力
0
と数8進数であると考えられているためだ
uint32_t n1 = 0x00000008;
uint32_t n2 = 0x00000004;
コンピュータにバイナリとして解釈させるよう依頼しましたか?私は理解できる8進数のリテラルであることに気づいていませんが、代わりになぜ10進数を期待しませんか? –