AWK:计算数字幂时获取+nan

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

DYZ*_*DYZ 5

输出是正确的

^运算符的优先级高于负运算符。因此,x^1.35is (-0.35)^1.35(负数的非整数幂是复数,解释为 a -nan),但-0.35^1.35is 是-(0.35^1.35)正数的负正幂。