
No.2ベストアンサー
- 回答日時:
★2進整数を表示する関数を自作すればよい。
・作り方は簡単で、最上位ビットから順に『0』と『1』を調べていき、ビットが
立っていれば『putchar('1');』にして、ビットが OFF なら『putchar('0');』
にすれば良いでしょう。
・下にサンプルを載せますので使いやすいように改良して下さい。
サンプル:
unsigned int bit = (1 << (sizeof(int) * 8 - 1));
int value = 12345; ←これが表示したい int 型の整数値です。
printf( "value の 2進表記は " );
for ( ; bit != 0 ; bit >>= 1 ){
if ( value & bit ){
putchar('1');
}
else{
putchar('0');
}
}
printf( " です。\n" );
最後に:
・1バイトが 8 ビットの環境が前提です。→まぁ、普通は 8 ビットですが…。
・上記のサンプルを関数などにすれば使いやすくなります。→print_bin()など
・以上。おわり。
No.4
- 回答日時:
#3の方、「標準」って何を指しておっしゃいますか?
たまたまVCとかにあるようなものは「標準」とは普通いわないでしょう。
で、質問者様へ:
よくある質問で、C FAQ (日本語訳は http://www.kouno.jp/home/c_faq/ にあります)
にも
20.11:
2進数の定数(0b101010のように)を使うことはできるか。2進数用の printf()の書式は存在するか。
A:
2進数の定数は存在しないし、2進数用の書式も存在しない。底2の(2進数)文字列に
よる表現をstrtol()を使って整数に変換することは可能である。
ということですので、#3の方のいうitoaがあればそれを使って変換すれば
いいでしょうし、
なければ#2の方の例を参考に自作ということになります。
No.3
- 回答日時:
自作しなくても、標準であるもの使いましょうよ。
自分で作ればバグも作りこむことになります(汗)
例えば itoaを使えば、
#define BUFF_SIZE 100
char buf[BUFF_SIZE];
int a = 20;
itoa(a, buf, 2);
printf("a=%d を2進数に直すと %s です。\n", a, buf );
これでいけるんじゃないでしょうか。
注意事項としては、itoa は Visual C++ では使えますが、gcc では使えなかったような気がします。
itoa が使えないコンパイラの場合は、(しかたがないので)自作してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
c言語 16進数の2進数への変換
C言語・C++・C#
-
printf による16進表示について
C言語・C++・C#
-
数字以外が入力されたらエラー文を出したい。
C言語・C++・C#
-
-
4
再起呼び出しの回数をカウントするプログラム
C言語・C++・C#
-
5
C言語のポインターに関する警告
C言語・C++・C#
-
6
C言語の入力した文字を反転させるプログラミングの仕方が分かりません。
Ruby
-
7
C言語初心者 構造体 課題について
C言語・C++・C#
-
8
16進数から2進数へ
C言語・C++・C#
-
9
str系関数を使わずに二つの文字を結合する方法
C言語・C++・C#
-
10
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
11
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
12
C言語初心者 ポインタについて、お助けください、、
C言語・C++・C#
-
13
C言語 逆順の配列の仕方を教えてください
C言語・C++・C#
-
14
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
15
init関数の意味
C言語・C++・C#
-
16
バッファとは何ですか
C言語・C++・C#
-
17
C言語(構造体)
C言語・C++・C#
-
18
C言語初心者 構造体 課題について
C言語・C++・C#
-
19
atoi( ) の反対をやりたい
C言語・C++・C#
-
20
関数から配列を返すには?
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語について
-
【C言語教えてください】sin波...
-
円の面積を求めるプログラミン...
-
10個出力で改行したいのですが...
-
printf で二進表示を行いたい。
-
C言語でマウス入力(クリックや...
-
テキストカーソル位置の取得
-
既約分数の表示プログラム
-
C言語プログラミング
-
unsigned int型について
-
C言語で、「自然数nを入力し、n...
-
%P と %X の違い
-
文字を動かしたい
-
C言語について。 同じ年内で経...
-
printf( " %2d", p * q );
-
ガウスの消去法、後退代入について
-
getchar()マクロによる空白文字...
-
このプログラムとpingの関連性
-
c言語でint型変数a.bに対して、...
-
defineで定数が置き換えられな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
10個出力で改行したいのですが...
-
C言語について
-
【C言語教えてください】sin波...
-
printf で二進表示を行いたい。
-
c言語でAからZまでを表示する...
-
C言語での、年複利の計算方法...
-
hit&bolwのプログラミングがで...
-
printf( " %2d", p * q );
-
台形の面積を求めるプログラム
-
%P と %X の違い
-
CTRL+Dでループを抜けるには
-
strcmp
-
コマンドラインに出力した文字...
-
コンパイルエラーについて
-
C言語で四則演算を使って結果が...
-
C++ 二次関数の重解、虚数解が...
-
円の面積を求めるプログラミン...
-
入力したお金の金額からお札の...
-
テキストカーソル位置の取得
-
ガウスの消去法、後退代入について
おすすめ情報