我试图通过std::cin
读取十六进制浮点值。但是,它只是读入0
。到目前为止,这是我的代码:
#include <iomanip>
#include <iostream>
int main() {
double f = 0.0;
std::cout << ">";
std::cin >> std::hexfloat >> f;
std::cout << "Entered: " << f << std::endl;
return 0;
}
这将导致:
>0x1.921fb5p+1
Entered:0.0
或者如果我排除0x
:
>1.921fb5p+1
Entered:1.921
我正在使用g ++ 7.0.1并在Ubuntu 17上添加编译器标志-std=c++11
。