c ++中的十六进制浮点文字

时间:2014-02-03 11:54:33

标签: c++ floating-point hex

(C ++)是否可以使用十六进制浮点值初始化float变量?

类似的东西:'0x011.1'//错误!

1 个答案:

答案 0 :(得分:1)

不,C ++不支持文字,它不是标准的一部分。

非便携式解决方案是使用编译器将其添加为扩展名(GCC does this)。

便携式解决方法是在运行时使用例如字符串文字解析它们。 strtod()double {{1}}。

正如评论中所指出的,您还可以选择将常量存储在C文件中。这样做需要您可以访问C99编译器,因为hex float literals是C99级别的功能。由于具有新C ++编译器但没有C99编译器(读取:Visual Studio)的环境非常常见,这可能不是一个可行的解决方案。