首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >a%2和a&1哪个更快?

a%2和a&1哪个更快?
EN

Stack Overflow用户
提问于 2020-10-11 06:16:20
回答 1查看 182关注 0票数 0

我知道a&1的原理:例如:

代码语言:javascript
复制
4&1: 0100
     0001
   = 0000

代码语言:javascript
复制
5&1: 0101
     0001
   = 0001

但是我想知道a%2的原理是什么和如何

a%2a&1,哪个更快?

EN

回答 1

Stack Overflow用户

发布于 2020-10-11 06:36:39

有两种情况:

  1. 无符号整数。任何现代编译器都会将x % 2编译为x & 1,即使没有优化也是如此。因此,速度将相同,因为两者将具有相同的机器码。
  2. Signed integer - x % 2的结果和x & 1的结果完全不同,在这种情况下,您应该使用x % 2来获取模,使用x & 1来测试

https://godbolt.org/z/cEY4dM

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64298813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档