Actionscript 3 对数字求反的ActionScript

Actionscript 3 对数字求反的ActionScript,actionscript-3,math,Actionscript 3,Math,我想否定一个数字,并且想知道是否有一个内置的方法可以根据数字将负数转换为正数或将正数转换为负数 我知道Math.abs(),但这似乎只能将负数转换为正数。有没有一种方法可以同时做到这两个方面 var mynum:Number = 5; mynum = -mynum; 其他选择包括: mynum*=-1 mynum=0-mynum 这不是简单到乘以-1吗?你需要一种方法吗?一元负号应该像在许多其他语言中一样起作用!如果p>0,-p

我想否定一个数字,并且想知道是否有一个内置的方法可以根据数字将负数转换为正数或将正数转换为负数

我知道Math.abs(),但这似乎只能将负数转换为正数。有没有一种方法可以同时做到这两个方面

var mynum:Number = 5;
mynum = -mynum;
其他选择包括:

  • mynum*=-1
  • mynum=0-mynum

这不是简单到乘以-1吗?

你需要一种方法吗?一元负号应该像在许多其他语言中一样起作用!如果
p
>0,
-p
<0,反之亦然,就像我们在学校学到的那样。

啊!的确如此!哈哈。我想这是一个简单的内置方法。谢谢:)是的,你想得太多了:)但是把它当作“-p”比真的做“-1*p”要好-p可以被编译成一条对变量求反的指令(不考虑加载/存储指令),而-1*p可以被编译成:加载一个常量,将常量(-1)乘以p:1 instr更多,而且乘法可以更慢,而求反更快。(至少我希望任何一个合理的VM在浮点数和整数上都有否定指令!)一些编译器是否可以将“-1*”转换为与一元否定操作相同的值?“这是我要抛出的一个问题。@JB King:是的,任何对数字求反的算术运算都会被编译器视为尽可能快(翻转符号位)。