我发现以下代码没有任何问题,MSVC#编译器将NAN存储在"c"中:
double c = Math.Pow(-8d, 1d / 3d);
Run Code Online (Sandbox Code Playgroud)
虽然我认为这行应该为"c"计算-2,但编译器将NAN存储在"c"中?我错了什么?
浮点数的幂函数仅针对正基数或积分指数定义.尝试
double c = - Math.Pow(8d, 1d / 3d);
Run Code Online (Sandbox Code Playgroud)
实际上,1/3不能完全表示为浮点数,但需要舍入.圆形指数的确切实际结果在理论上甚至不存在.