Iva*_*van 2 math floating-point awk nan
使用变量时出现问题
echo ""| awk '{
x=-0.35
print x^1.35
print -0.35^1.35
}'
Run Code Online (Sandbox Code Playgroud)
结果
+nan
-0.242377
Run Code Online (Sandbox Code Playgroud)
使用 GNU awk
输出是正确的。
幂^
运算符的优先级高于负运算符。因此,x^1.35
is (-0.35)^1.35
(负数的非整数幂是复数,解释为 a -nan
),但-0.35^1.35
is 是-(0.35^1.35)
正数的负正幂。