- ベストアンサー
ビット内容の表示(C言語)
自分はC言語初心者です。 任意のビット1つを立てて表示するプログラムを作っています。 ビットの立て方はわかったのですが、それをどう表示するかがわかりません。 もっている参考書にも載っていませんし、色々調べてみてもわかりませんでした。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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"); }
その他の回答 (2)
noname#20242
回答No.3
ANo.#2への回答です。 > なぜaがcharで宣言されているのでしょうか? 例として char を使っただけで、特に深い意味はありません。 intやlongでも問題ありません。
質問者
お礼
わかりました。ありがとうございます。
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
質問者
補足
ご回答ありがとうございます。 なんか難しく考えすぎていたようです。 そこまで考えが回りませんでした。
補足
ご回答ありがとうございます。 ちょっとわからないところがあります。 なぜaがcharで宣言されているのでしょうか?