产生负数的最快方法

问题描述

|| 这条线有最快的方法吗?
ballAngelRadianVector = -ballAngelRadianVector;
还有这个:
ballDegree = fee - ballDegree ;
    

解决方法

        我认为您不会比这更快。.请参阅我所做的快速检查:
var i:uint = 0;
for(i; i<1000000; i++)
{
    var a:int = -i;
}

trace(getTimer()); //14
    ,        我实际上是出于好奇而想知道类似的事情(我知道这不是我的应用程序的瓶颈)。我的问题是,将var设置为负数还是将其乘以-1更容易。我想知道这是否与CPU,OS等不同,但是我进行了以下测试:
$number = rand(100000,999999999);
$iterations = 10000000;

$start = microtime(true);

for($i = 0; $i <= $iterations; $i++)
    $number = -$number;

echo \"time: \".(microtime(true)-$start).\"\\n\";
//
$start = microtime(true);

for($i = 0; $i <= $iterations; $i++)
    $number = $number * -1;

echo \"time: \".(microtime(true)-$start).\"\\n\";
//
$start = microtime(true);

for($i = 0; $i <= $iterations; $i++)
    $number = -$number;

echo \"time: \".(microtime(true)-$start).\"\\n\";
//
$start = microtime(true);

for($i = 0; $i <= $iterations; $i++)
    $number = $number * -1;

echo \"time: \".(microtime(true)-$start).\"\\n\";
产生的输出:
time: 0.66124606132507 (-self)
time: 0.64714503288269 (*-1)
time: 0.66628909111023 (-self)
time: 0.65639805793762 (*-1)
所以看起来乘以-1总是比较快(可以忽略不计)