我注意到我不理解的c ++中一些奇怪的行为,我正在尝试以十六进制表示形式打印截断的double]
此代码输出为17
,它是十进制表示形式以及我的所需的输出double a = 17.123; cout << hex << floor(a) << '\n';
此代码输出为11
double a = 17.123; long long aASll = floor(a); cout << hex << aASll << '\n';
因为双精度数会得到很大的数字,我担心将截断的数字存储在long long变量中时会输出错误,有什么建议或改进吗?
我注意到我不理解的c ++中一些奇怪的行为,我正在尝试以十六进制表示形式打印截断的double值,该代码输出为17,这是十进制表示形式...