• ベストアンサー

float 10進数 を float 16進数に変換してくれる電卓アプリを探しています。

おはようございます。 小数点有りの10進数 を float 16進数に 自動変換 してくれる電卓アプリを探しています。 何かいいツールはありませんか?

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

  • ベストアンサー
  • titokani
  • ベストアンサー率19% (341/1726)
回答No.1

10進数/16進数というのは、表示の問題。floatというのは内部表現の問題。 なので、float16進数というのは意味が通りません。 浮動小数点数の内部表現を表示してくれるアプリということでしょうか? でも、電卓アプリを紹介して欲しいという話ならカテ違いなのでは? C/C++的に回答するなら、 float f=123.456; unsigned char *p=(unsigned char *)&f; printf("%02X %02X %02X %02X\n",p[0],p[1],p[2],p[3]); とかで表示できるかと。ただし、エンディアンとかfloatのバイト数とか 環境依存なので、そのあたりは適当に調整してください。

その他の回答 (1)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.2

電卓アプリは知りませんが、floatやdoubleの値を16進数で出力したいのなら、 float x = 1.234; printf("%a\n", x); とすれば、 0x1.3be76cp+0 という結果が得られるはずです。 なお、古い規格に基づくコンパイラでは、この機能は使えない可能性があります。

popurakun
質問者

お礼

ご回答ありがとうございました。 自分の環境では、 %a と結果が表示されるようです。 古い規格に基づくコンパイラのようです。 他のコンパイラで試してみます。

関連するQ&A