電子書籍の厳選無料作品が豊富!

おはようございます。

小数点有りの10進数 を float 16進数に
自動変換
してくれる電卓アプリを探しています。

何かいいツールはありませんか?

A 回答 (2件)

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のバイト数とか
環境依存なので、そのあたりは適当に調整してください。
    • good
    • 0

電卓アプリは知りませんが、floatやdoubleの値を16進数で出力したいのなら、



float x = 1.234;
printf("%a\n", x);

とすれば、

0x1.3be76cp+0

という結果が得られるはずです。
なお、古い規格に基づくコンパイラでは、この機能は使えない可能性があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
自分の環境では、

%a

と結果が表示されるようです。
古い規格に基づくコンパイラのようです。
他のコンパイラで試してみます。

お礼日時:2008/01/22 13:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!