限定しりとり

C言語の勉強をしています。以下の数字の羅列が何を指しているのかが分かりません。
C言語が記述されているものの中にこのような感じで数字が登場しました。
<list mask="0001">
それぞれがビットを表しているのでしょうか?


0001
0002
0004
0008
0010
0020
0040

A 回答 (3件)

2進数を4桁ごとにまとめて表していて


0001--->0000_0000_0000_0001
0002--->0000_0000_0000_0010
0004--->0000_0000_0000_0100
0008--->0000_0000_0000_1000
0010--->0000_0000_0001_0000
0020--->0000_0000_0010_0000
...ということです
    • good
    • 1
この回答へのお礼

この数字の羅列は2進数なのでしょうか・・・?
すみません、頭がこんがらがってきました。

お礼日時:2019/04/21 21:17

16進表記   2進表記


0x01 -> 0000 0001b
0x02 -> 0000 0010b
0x04 -> 0000 0100b
0x08 -> 0000 1000b
0x10 -> 0001 0000b
0x20 -> 0010 0000b
0x40 -> 0100 0000b

こうすれば、二進数のビットの位置が一つずつシフトしている数値と分かる
    • good
    • 2
この回答へのお礼

この数字の羅列は1ビット、2ビット、4ビットではなく16進数なのですね。
勉強している箇所がビットをどれだけ使っているか云々だったため16進数だったなんて気づきませんでした。
ありがとうございます。

お礼日時:2019/04/21 21:09

2^n(n=0から始まる正数)を16進数で表しているのではないでしょうか。

    • good
    • 0
この回答へのお礼

すみません、勉強不足で仰ることを調べてみたのですが私には理解ができませんでした・・・。
ただ16進数であることはわかりました。ありがとうございます。

お礼日時:2019/04/21 20:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!