• ベストアンサー

printf で二進表示を行いたい。

mazimekko3の回答

回答No.1

文字列返す関数作ればいいのでは?

関連するQ&A

  • printf("%d",func())はなぜ実行できないのか?

    main(){ int i; i = func(); printf("%d",i); } int func(){ return 1; } はちゃんと1が表示されるのになぜ、 main(){ printf("%d",func()); } int func(){ return 1; } は1が表示されず変な値になってしまうんでしょうか? funcのアドレスが表示されているんでしょうか? よろしくお願い致します。

  • printf() だけで文字列を表示できる??

    1: int printf(char *, ...); 2: main() 3: { 4: printf("Hello, world.\n"); 5: } C で書かれた上のプログラムが正常にコンパイルでき、しかもHello, world. と表示することが理解できません。どなたか教えていただけないでしょうか。 1行目でprintf のプロトタイプ宣言を書き、その実体は書いていません。これをコンパイルしたとき、「printf() は知らない」と言われると思いましたが、そうはならず、Hello, world. を表示しました。 また、1行目の関数宣言の引数を変更すると、「ビルトイン関数と型が一致しない」と言われます。その「ビルトイン関数」というのは文字通りビルトインされていて任意に使用できるようになっているのでしょうか。 コンパイラはgcc version 3.4.4 です。

  • 値を変数に代入してprintfで表示しようとしてもうまくいきません

    値を変数に代入して、printfで表示しようとしてもうまくいきません。 ソースのどこが悪いか教えていただけないでしょうか? 変数の値を1個ずつ表示する場合は、正常になります。 問題は、1行で表示する場合に1個目の値は出るのですが正常な表示にはなりません。 //ソース開始 #include <stdio.h> #include <windows.h> int main() { LARGE_INTEGER i64,h64; LONGLONG work,h,m,s; QueryPerformanceCounter(&i64); QueryPerformanceFrequency(&h64); //起動時間をミリ秒取得 work = i64.QuadPart*1000 / h64.QuadPart; //時間をhに入れる h = work / 1000 / 3600; //分をmに入れる m = (work / 1000 - h * 3600) / 60; //秒をsに入れる s = work / 1000 - h * 3600 - m * 60; //表示 printf("%d時間%02d分%02d秒\n",h,m,s); printf("%d時間\n",h); printf("%d分\n",m); printf("%d秒\n",s); printf("%d秒\n",work); return 0; } //ソースここまで //実行結果 289時間00分55秒 289時間 55分 54秒 1043754590秒 続行するには何かキーを押してください . . . //理想の表示結果 1行目が以下のようになってほしい 289時間55分54秒

  • アドレスの表示

    現在ポインタを勉強していて気になったのですが 下記のようにすると、nxとnyのアドレスが表示されるのですが ここで指定子を%dにした場合は、どいういう意味の値が 出力されるのでしょうか? #include <stdio.h> void main() { int nx = 15; int ny = 73; printf("nxのアドレス=%p\n",&nx); //ここを指定子を%d printf("nyのアドレス=%d\n",&ny); //ここを指定子を%d }

  • printfで・・

    ループの途中でカウンタのモニタ表示を したいのですが、改行したりせずに、プロンプト上に 上書きして表示させるにはどのようにしたら良いのでしょうか?ご存知の方教えてください<(_ _)> たとえば、以下のようにしてしまうと 1000行書き出されてしまいますよね。 %dのところだけ上書きして表示したいのですが可能でしょうか? int i,cnt; cnt =0; for(i=0;i<1000;i++){ printf("cnt = %d\n",cnt); }

  • printfですぐに出力

    バッファ関係の質問です。 printfの直後にprintfの内容を表示する方法を教えてください。

  • printf()がないとエラー

    現在、素因数分解プログラムを作っていて値を確認するために使って いたprintf()を取り除いて完成というところだったのですが、50の 倍数のときにセグメントエラーになり、再びprintf()を付け加えると 正常に動作するという不可解な現象が起きました。 こんな場合は、どんなことが起きていると考えられますか? そして、1回も使ったことがないのでよくわかりませんが、デバッガ を使えば原因がわかるものでしょうか? 回答よろしくお願いします。

  • PICのprintfで5桁の整数を表示させたい

    PIC 16F688、mplab xc8を使っています。 LCDにprintfで5桁の整数を表示させたいのですが、65536以上はうまく表示できません。 5桁で99999を表示させるにはどうすればいいでしょうか? 例えば、このように書くと99999以上の数字が表示されてしまいますが、65535までは正常に表示されます。また、0も5桁で正常に表示されています。 unsigned short long a; a=99999; printf("%05.5lu",a); SLEEP(); printfの%lが悪いのか、%uが悪いのか、他の指定が有るのか分かりません。

  • printfするのとしないのとで実行結果が異なる

    現在、ようやくC言語にも慣れてきてソースが自力で書けるようになってきた者です。ところが、ちょっとした問題に悩んでいます。 当該ソースは以下のとおりです。 #include<stdio.h> int main(void){ #define NINZU 5 int i,j,k,temp,va[NINZU]; for(i=0;i<NINZU;i++){ printf("va[%d]=",i); scanf("%d",&va[i]); } for(j=0;j<NINZU;j++){ for(k=0;k<NINZU;k++){ if(va[k]<va[(k+1)]){ printf("比較材料 %d\n",va[k]); printf("比較相手 %d\n",va[(k+1)]); temp=va[k]; va[k]=va[(k+1)]; va[(k+1)]=temp; } } } printf("1番の人 : %d\n",va[0]); printf("2番の人 : %d\n",va[1]); return 0; } 簡単なソースで、入力された5個の数値を並び替え1位と2位を表示するというものなのですが、実行結果が、「比較材料・比較相手」というprintfを外すと、「1番の人」の表示がどんな値を入力しても1245056になってしまいます。 printfが入っていれば正常に表示されるのですが… 大至急、知りたいです!!!

  • printfが後で実行されます。

    最近、プログラミングを始めた初心者です。 エクリプスを使い、次のようなプログラムを作ったのですが、 実行結果が思いと違うのです。 #include<stdio.h> int main(void) { int i, dt; printf("数値を入力:"); scanf("%d", &dt); i = 2; while(dt != 1) { while(dt % i == 0) { dt = dt / i; printf("%d\n", i); } i ++; } return 0; } 実行結果 60 数値を入力:2 2 3 5 数値を入力:の後に、scanfで入力したいのですが、 入力したあとでないと、printfの内容が表示されないのです。 コードは大丈夫だと思うのですが、、、 初心者なので、何をどうすれば解決するのか検討もつきません。 どなたかお分かりになる方、よろしくお願いいたします。