我的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double A = 100.35;
cout.precision(0);
cout << std::hexfloat << std::fixed << std::left << A << endl;
return 0;
}
当前输出: 100
我的预期输出: x64
解释: 我想打印 double 的小数部分的十六进制值。但是我一直没有成功。需要帮忙。在这方面的任何帮助将不胜感激。
最佳答案
您所要求的根本不可能。 std::hex
(您正在寻找的输出)仅适用于整型参数,而 std::hexfloat
使用了一种不受欢迎的格式。你需要投或轮。
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main() {
double A = 100.35;
cout.precision(0);
cout << std::hex << std::showbase << std::lround(A) << endl;
return 0;
}
关于C++ double to hex console output need help in resolving,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37414575/