5

std::cout を操作して double を 16 進数表現で出力する簡単な方法はありますか? 言い換えれば、以下と同等のもの:

printf("%" PRIx64, *reinterpret_cast<uint64_t *>(&my_double));

いくつかのコンテキストを提供するために、何百もの浮動小数点結果を出力するプログラムがあり、それらすべてを16進数で出力できる魔法の1行ハックがあるかどうか疑問に思っていました.

4

3 に答える 3

3

これを使用できます

    #include <iomanip> //Include this file
    cout<<hex<<*reinterpret_cast<unsigned __int64 *>(&r);
于 2013-10-16T09:07:36.400 に答える
-2

std::cout次の方法で16進数で印刷できます。

std::cout << std::hex << num
于 2013-10-16T08:52:58.557 に答える