Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
std::cout を操作して double を 16 進数表現で出力する簡単な方法はありますか? 言い換えれば、以下と同等のもの:
printf("%" PRIx64, *reinterpret_cast<uint64_t *>(&my_double));
いくつかのコンテキストを提供するために、何百もの浮動小数点結果を出力するプログラムがあり、それらすべてを16進数で出力できる魔法の1行ハックがあるかどうか疑問に思っていました.
これを使用できます
#include <iomanip> //Include this file cout<<hex<<*reinterpret_cast<unsigned __int64 *>(&r);
std::cout次の方法で16進数で印刷できます。
std::cout
std::cout << std::hex << num