过去判断奇数偶数的编程习惯一直是除以2取余。

更快的判断方法,就是和1位与。

因为奇数的二进制表示法的最低位是1,偶数的最低位是0。那么用这个数去和1按位与,如果是奇数,那么结果就是1;偶数结果则是0。

如果只是少量判断的话,‘除2取余’和‘1位与’两种方式并没有什么差别,只有在判断次数极多才能明显感觉到速度上的差别;但是相对于‘1位与’来说,‘除2取余’更好理解,可读性更好一些。
所以一般情况下还是尽量少用‘1位与’方式。‘1位与’可以作为一种新的思考问题的思路研究一下

<?php$i = 1;  $j = 2;echo $i%2 == 1;
echo $j%2 == 0;echo ($i & 1) == 1;
echo  ($j & 1) == 0;

从这个我们也可以在判断真假与或时,利用按位与或者按位或。

<?php$a = true;
$b = false;$c = $a & $b;
$d = $a | $b; var_dump($c);// 0
var_dump($d);// 1

值得注意的是,只有当明确知道a和a和a和b是bool类型时,才可以使用按位与或者按位或来判断最后真假。

举个例子:比如$a = 2 (010); $b = 5 (101); 这样按位与的结果就是0。因此这种情况就按照 && || 来判断~

原文

如何快速判断奇数和偶数相关推荐

  1. python判断奇数和偶数_从Python中的给定列表中提取偶数和奇数

    python判断奇数和偶数 In this problem, we are given a list by the user which may be the mixture of even and ...

  2. 关于异或的判断奇数还是偶数的性质。

    异或可以简单理解为无进位加法,比如2的二进制为10,1的二进制为01,1^2的结果为3,二进制为11. 那么通过这个性质可以用来判断奇数还是偶数. 具体内容 比如一个偶数为6,它的二进制为110:1的 ...

  3. javascript判断日期奇偶_JavaScript判断奇数和偶数的两种方法

    JavaScript是前端开发中必不可少的一部分,那你知道如何用JS判断一个数是奇数还偶数吗?这篇文章就给大家分享JS判断奇数和偶数的两种方法,有一定的参考价值,感兴趣的朋友可以参考一下. 方法一:用 ...

  4. 如何高效地判断奇数和偶数

    在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况. 大家一般的处理做法是用这个整数和2取模.然后判断是等于1还是等于0. 这里,我要为大家介绍一种快速有效的判断做法,利用2进制进行判 ...

  5. 判断奇数还是偶数【c语言】

    要求:判断一个数是奇数还是偶数 法1:三目运算符实现 int main() {int num = 5;num % 2 == 0 ? printf("yes") : printf(& ...

  6. [PTA]C语言 判断奇数和偶数

    输入一个整数,判断该数是奇数还是偶数. 输入格式: 输入整数n. 输出格式: 如果该数是奇数就输出"odd",偶数就输出"even"(输出不含双引号). 输入样 ...

  7. javascript判断日期奇偶_js中判断奇数或偶数

    给定一个数字列表,请确定其元素的总和是奇数还是偶数. 将答案作为字符串匹配"odd"或"even".如果输入数组为空,则将其视为:([0]具有零的数组) fun ...

  8. html中奇数偶数判断,js中判断奇数或偶数

    给定一个数字列表,请确定其元素的总和是奇数还是偶数. 将答案作为字符串匹配"odd"或"even".如果输入数组为空,则将其视为:([0]具有零的数组) fun ...

  9. 算法 | 如何快速判断奇数偶数

    public class A {public static void main(String[] args) {int i = 101;String str = i%2 != 0 ? "奇数 ...

  10. HTML前端输入一个值判断奇数还是偶数

    目录 解释: 1.这个是让用户输入一个任意数 2.先用输入的值磨2如果等于0那就输出偶数,否则就奇数. 代码:展示 成品运行展示: 1.如果输入10那么就弹出偶数 2.如果输入15,那么久弹出奇数 解 ...

最新文章

  1. CQRS体系结构模式实践案例:Tiny Library:领域仓储与事件存储
  2. Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作
  3. 【PAT (Advanced Level) Practice】1002 A+B for Polynomials (25 分)
  4. Python如何嵌入C/C++进行开发
  5. 重磅 | 《机器学习综述》算法分类及特征工程手写笔记
  6. Xmind快捷键笔记
  7. Moodle 安装出现访问空白和open_basedir问题
  8. oracle 索引原理
  9. uniapp 在HBuilder X中配置微信小程序开发工具
  10. java数据过载,处理服务器过载的三大解决方法
  11. SSE学习-一个小栗子
  12. 木瓜移动全方位布局跨境电商SaaS木瓜大橙, 这条新赛道有何机遇?
  13. 用 Python 播放多声轨 MIDI 文件音乐
  14. 电路城(www.cirmall.com)— Altium常用库文件(元件库+封装库+常用元器件3D模型)
  15. Spark SQL: Relational Data Processing in Spark
  16. R语言用WinBUGS 软件对学术能力测验(SAT)建立层次(分层)贝叶斯模型
  17. 分享一个 C# Winfrom 下的 OutlookBar 控件的使用
  18. CANopen协议,上位机开发(C#)
  19. 决策理论与方法——效用函数
  20. leetcode 986 、56 ——区间问题(数组区间的并集和交集)

热门文章

  1. 小学生必背古诗70首
  2. 临沂最美乡村医生彭玉梅:救人遇车祸身亡
  3. 材料科学基础考研计算机,2017年西安工业大学计算机学院805材料科学基础考研仿真模拟题...
  4. 经典算法-BF算法(字符串匹配)
  5. java地理位置的获取_Java 根据 IP 获取地理位置
  6. 公司内部分享【富有成效的每日站会】总结
  7. HDU 2154:跳舞毯(递推)
  8. 工业物联网实践指南----专注生产制造活动
  9. 市盈率、市净率、净资产收益率股息率介绍
  10. 测试在团队中有啥用?