• ベストアンサー

ビット内容の表示(C言語)

自分はC言語初心者です。 任意のビット1つを立てて表示するプログラムを作っています。 ビットの立て方はわかったのですが、それをどう表示するかがわかりません。 もっている参考書にも載っていませんし、色々調べてみてもわかりませんでした。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#20242
noname#20242
回答No.2

↓こんな感じでどうでしょうか? #include <stdio.h> void main(void) { int i, bit_len, val; char a; a = '\x02'; bit_len = sizeof(a) * 8; for (i = bit_len - 1; i >= 0; i--) { val = (a >> i) & 1; printf("%d", val); } printf("\n"); }

cermet
質問者

補足

ご回答ありがとうございます。 ちょっとわからないところがあります。 なぜaがcharで宣言されているのでしょうか?

その他の回答 (2)

noname#20242
noname#20242
回答No.3

ANo.#2への回答です。 > なぜaがcharで宣言されているのでしょうか? 例として char を使っただけで、特に深い意味はありません。 intやlongでも問題ありません。

cermet
質問者

お礼

わかりました。ありがとうございます。

noname#39970
noname#39970
回答No.1

数値として そのまま表示  ではだめなの? intやcharのビット操作をしてそれのビットを確認したい っていうなら数値を2進数変換すれば良いんじゃないかな http://www.google.co.jp/search?hl=ja&q=printf+2%E9%80%B2%E6%95%B0&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

cermet
質問者

補足

ご回答ありがとうございます。 なんか難しく考えすぎていたようです。 そこまで考えが回りませんでした。

関連するQ&A