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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
- C言語・C++・C# プログラミングのペーパーテスト 実行結果がどのように表示されるか答えよ #include <stdi 1 2022/07/09 14:27
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- C言語・C++・C# プログラミング実行後の表示される値を答えよ #include<stdio.h> void main( 7 2022/05/20 00:07
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
再起呼び出しの回数をカウントするプログラム
C言語・C++・C#
-
c言語 16進数の2進数への変換
C言語・C++・C#
-
printf による16進表示について
C言語・C++・C#
-
-
4
16進数から2進数へ
C言語・C++・C#
-
5
while文について、c言語です。
C言語・C++・C#
-
6
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
7
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
8
strcat関数を自作したいです
C言語・C++・C#
-
9
fopenでファイル名に、変数を使いたい
C言語・C++・C#
-
10
str系関数を使わずに二つの文字を結合する方法
C言語・C++・C#
-
11
構造体のメンバをfor文で回したい
C言語・C++・C#
-
12
数値をASCII文字にする方法についての質問です。
C言語・C++・C#
-
13
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
14
プログラミングが分かりません。
C言語・C++・C#
-
15
C言語 exitの使い方
C言語・C++・C#
-
16
C言語での引数の省略方法
C言語・C++・C#
-
17
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
18
C言語のポインタに直接アドレスを割り振りしたい
C言語・C++・C#
-
19
unsigned long long 型のフォーマット指定子
C言語・C++・C#
-
20
16進数を2文字ずつ配列に格納したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10個出力で改行したいのですが...
-
C言語に関する質問です
-
万年カレンダーのC言語プログラ...
-
【C言語教えてください】sin波...
-
文字を動かしたい
-
球の体積と表面積を表示するプ...
-
ホームページをC言語で作りたい...
-
c言語でAからZまでを表示する...
-
コマンドラインに出力した文字...
-
CTRL+Dでループを抜けるには
-
4の倍数を論理演算で表す。。
-
printf で二進表示を行いたい。
-
C言語
-
%P と %X の違い
-
改行について 1行に何個かづ...
-
円の面積を求めるプログラミン...
-
C言語で入力した変数の値から三...
-
unsigned int型について
-
c言語で2000年以降カレンダーを...
-
C言語 文字列の比較 compare
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語について
-
printf で二進表示を行いたい。
-
cshの文字列操作(0埋め)
-
10個出力で改行したいのですが...
-
コンパイルエラーについて
-
テキストカーソル位置の取得
-
strcmp
-
unsigned int型について
-
c言語でAからZまでを表示する...
-
printf( " %2d", p * q );
-
コマンドラインに出力した文字...
-
printfの出力内の文字をdefine...
-
ホームページをC言語で作りたい...
-
コマンドプロンプトがすぐ消える
-
小数点切捨て表示
-
【C言語教えてください】sin波...
-
switch分のケースを範囲数?に...
-
二つの整数値の大小比較
-
4の倍数を論理演算で表す。。
-
defineで定数が置き換えられな...
おすすめ情報