我正在努力确定32位整数是偶数还是奇数。我设置了2种方法:
模(%)法
int r = (i % 2);
按位(&)方法
int r = (i & 0x1);
两种方法都可以成功工作。因此,我将每条线运行15000次以测试性能。
结果:
模(%)方法(源代码)
平均141.5801887ns | SD 270.0700275ns
按位(&)方法(源代码)
平均141.2504ns | SD 193.6351007ns
问题:
为什么逐位(&)比除法(%)更稳定?
JVM是否根据此处使用AND(&)优化取模(%)?
宝慕林4294392
翻翻过去那场雪
相关分类