【发布时间】:2011-09-10 20:22:55
【问题描述】:
我正在制作一款游戏,其中我将大量数据存储在一个整数或长整数中,因为我将拥有大量数据。出于性能原因,我不想使用整个类,也不需要它们。我找到了两种从整数中检索一位的方法。我想知道是否有人知道我应该使用哪个或者哪个更快。
方法:
return (integer & (1 << bit)) != 0;
return (integer >> bit& 0x1) == 1;
【问题讨论】:
-
过早的优化是魔鬼的玩物
-
完美的微基准供您尝试。在 100 万次的循环中运行它们并计时。
-
我几乎完全可以肯定第二个只是简单的错误,不管它是否更快......
-
@Oli,嗯,也许我记错了
>>和&的优先级。不过,就我个人而言,我会在上面加上一些括号:)
标签: java algorithm optimization bit-manipulation