我正在查看一些遗留代码,它试图将 along double
转换为float
. 从阅读http://www.cplusplus.com/forum/beginner/34088/看来,long double
asizeof()
为 16,而浮点数sizeof()
为 8。
当在转换后引用浮点变量时,您会得到一个floating point overflow exception
预期的...
在调试模式下运行时,IDE 每次都会向您显示异常,除非您忽略所有该类型。我不希望这样做,因为我希望妥善解决问题。
因此,这将问题归结为:
有没有办法进行这样的演员表,而不会溢出(或替代演员表可以让我得到相同的信息)?
当前的铸造看起来像:floatVar = (float) longDoubleVar;