- ベストアンサー
ビット内容の表示(C言語)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
↓こんな感じでどうでしょうか? #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)
ANo.#2への回答です。 > なぜaがcharで宣言されているのでしょうか? 例として char を使っただけで、特に深い意味はありません。 intやlongでも問題ありません。
お礼
わかりました。ありがとうございます。
数値として そのまま表示 ではだめなの? 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
補足
ご回答ありがとうございます。 なんか難しく考えすぎていたようです。 そこまで考えが回りませんでした。
関連するQ&A
- C言語のビットシフトの質問
C言語の右ビットシフトで、以下のプログラムの結果について、納得できずにいます。 dを右にシフトすると、上位ビットには0が入るのではないでしょうか? よろしくお願いします。 プログラム unsigned char d='0'; printf("%c\n", d); printf("%c\n", d>>5); 結果 0 『
- ベストアンサー
- C・C++・C#
- C言語 ?のついた処理内容
C言語初心者です。 FFTの勉強をしようと先人の作ったC言語プログラムを 参考に処理内容を勉強中ですが、以下の文が どのような処理を行っているのか理解できません。 ご存知の方たいへんおてすうですが、処理内容を ご教授をお願いします。 よろしくお願いします。 w = (flag? M_PI: -M_PI) / (double)n;
- ベストアンサー
- C・C++・C#
- 32ビットの世界 ”c ”16ビットとの関連も
現在のコンパイラーなどは16ビットを想定しないものになっているのでしょうか? NEC98時代のコードが頻繁に出てくる1996年ごろの「はじめてのc言語」という本を 参考にして コンパイラーはBorland C++CompilerにGUIパッチをあてた、"C Pad for Borland C++Compiler"で 作業をしています。 本が古すぎて、16ビット コード が書かれているため、実行ファィルまではできますが、これを いざ!実行の段階ではXPのマシンでは正確には動きません。windows 98では動くこともあります。例えば、 以下のURL は ”カラー表示プログラム” ですが http://oshiete1.goo.ne.jp/kotaeru.php3?q=1196473 ASC2制御コードなどは どうなのでしょうか? BEL は 07 と指定してますがなりません。 現在の32ビットの世界と向き合って、勉強する前に、その付き合い方を 伝授 してほしいのですが。勿論 c言語の取り組み方です。16ビットとの関連も含めて よろしくお願いします。
- 締切済み
- C・C++・C#
- C言語でのプログラムの作り方
はじめまして。C言語初心者の中学一年生です。 C言語でプログラムを作ろうと思ったのですが、やり方がわかりません。 ”hello”と表示するプログラムの作り方を教えてください。 使用しているコンパイラは"Visual C++ 2010"です。パソコンはWindows xpです。 中学生でも分かるように教えてください。 エディエタ、やソースプログラムなどの用語についても教えてくださると嬉しいです。
- ベストアンサー
- C・C++・C#
- C言語
プログラム言語のC言語について教えて下さい。 昔BASICを少し勉強しました。 それからプログラム言語から離れてましたがC言語を見て疑問があります。 BASICなら例えば最初に 10 ~ 20 GO TO~ みたいに上段、左詰めでプログラムを書いてましたがC言語って本を見るとやたら左側が膨らんだ?ような空白みたいな表記になってますよね?(説明下手でごめんなさい) この空白みたいな意味が分からないし、この空白?もスペースキーで打つのか分かりません。 C言語の表記の仕方について詳しい方、こんな初心者にでも簡単に分かるように説明して下さる方いたらよろしくお願いします。
- 締切済み
- Visual Basic
- ビット列を表示するプログラム
C言語の問題でビット列を表示するプログラムが全くできません。 どなたか分かる人はどうか知恵を貸してください。 ユーザが整数を入力すると、その整数をINT型の変数に入れ、そのビット列を表示するプログラム。 ただ、INT型のビット数は環境によって変わる可能性があるため、sizeof()関数を利用してINT型の変数のビット数を求め、そのビット数分だけ表示する。
- ベストアンサー
- C・C++・C#
- C言語のビット演算子に関して
はじめまして、今C言語の学習(半月ほど)を行っている者ですが ビット演算子のところで悩んでおります。 問題文に 変数cの2ビット目と3ビット目をONにする、 あるいはOFFにするといった表記がでてくるのですが このON、OFFとは何を意味しているのかいっこうにわかりません。 (私の考えではONとは1を意味しており2ビット目、3ビット目を ONにするとは -------------------------------------------------------------- ~1|1|0|0 (右から0ビット目、1ビット目、2ビット目、3ビット目) -------------------------------------------------------------- ということを言っているのではないだろうかと思っています。) ビットに関して私の勉強不足であることは十分に認識して おりますが、何かヒントをいただけるとありがたく思っています。 宜しくお願いいたします。
- ベストアンサー
- C・C++・C#
補足
ご回答ありがとうございます。 ちょっとわからないところがあります。 なぜaがcharで宣言されているのでしょうか?