C++判断奇偶数小技巧

大家都知道,C++判断奇偶数可以用

if (n % 2 == 0)

这样的语句,但, “== 0” 是可以用 “ ! ”代替的

if (!(n % 2))

不过会比较难理解


判断奇偶还有一种方法,写法很短,是笔者最喜欢的一种
类似这样

if (n & 1)

运用按位与的方法
我给大家举个例大家就明白了
比如,一个奇数5,
它的二进制是 (00000101)2
与1按位与的话(1是 (00000001)2),
5 & 1 = (00000101)2 & (00000001)2 = (00000001)2 = 1 = true,毕竟 1 && 1 = 1
而一个偶数 10 也就是 (00001010)2 & 1 的话,
10 & 1 = (00001010)2 & (00000001)2 = (00000000)2 = 0 = false
所以,我们得出了一个结论:奇数 & 1 = 1 = true, 偶数 & 1 = 0 = false

#include <cstdio>
int main() {
    int a = 1, b = 2;
    // a 是奇数,b 是偶数
    if (a & 1) puts("yes");
    else puts("no");
    // 输出 yes
    if (b & 1) puts("yes");
    else puts("no");
    // 输出 no
    return 0;
}

有其他观点的可联系作者以投稿

投稿邮箱:1826543852@qq.com

题目格式:文章题目 + 牛客投稿(就是牛客投稿4个字) + 你的牛客id

投稿请发送Markdown文件(.md)

全部评论

相关推荐

Java大菜狗:纯纯招黑奴,一天还不到两百那么多要求,还不迟到早退,以为啥啊,给一点工资做一堆活,还以不拖欠员工工资为荣,这是什么值得骄傲的事情吗,纯纯***公司
点赞 评论 收藏
分享
06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
评论
2
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务