我知道a&1
的原理:例如:
4&1: 0100
0001
= 0000
和
5&1: 0101
0001
= 0001
但是我想知道a%2
的原理是什么以及如何
a%2
和a&1
哪个更快?
有两种情况:
无符号整数。即使没有优化,任何现代编译器都会将x % 2
编译为x & 1
。因此速度将相同,因为两者将具有相同的机器代码。
有符号整数-x % 2
的结果和x & 1
的结果完全不同,在这种情况下,您应该使用x % 2
取模,并使用x & 1
测试 LSB。https://godbolt.org/z/cEY4dM
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(58条)