• ベストアンサー

実数をIEEE規格に基づく浮動小数点の表現法

実数をIEEE規格に基づく浮動小数点の表現法で プログラミング表現したいのですがわけがわかりません。 単精度32bitで表現します。 助けてください。お願いします。 (例:実数0.5、IEEE:00111111100000000000000000000) のような形になるようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

普通にfloat がIEEE 規格で表現されていると思いますけど、 単にそれをビット表現で表示をしたいということでしょうか? ---------------------------------------------------------------- #include<stdio.h> void float_binary(float a); void main (void){ float fl; printf("小数入力 >"); scanf("%f",&fl); printf("%f\n",fl); float_binary(fl); } void float_binary(float a){ union data{ float num; long bit32;//long が 32ビットだと仮定 }DATA; int i; DATA.num = a; printf("%08lX\n",DATA.bit32); for(i = 0; i<32; i++){ if(i % 4 == 0){ printf(" "); } if(DATA.bit32 < 0){ printf("1"); }else{ printf("0"); } DATA.bit32 <<= 1; } }

noname#22319
質問者

お礼

本当にありがとうございました。 おかげで問題を解くことができました。 これからは自分の力で解けるよう勉強したいと思います。 でもピンチの時はまた助けてください。(^#^)

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • mii-japan
  • ベストアンサー率30% (874/2820)
回答No.2

下記

参考URL:
http://pc21.nikkeibp.co.jp/special/gosa/eg4.shtml
すると、全ての回答が全文表示されます。
  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.1

union UNION {   float f;   int i; }; とかどうだろう?

すると、全ての回答が全文表示されます。

関連するQ&A