如何快速判断奇数和偶数
过去判断奇数偶数的编程习惯一直是除以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。因此这种情况就按照 && || 来判断~
原文
如何快速判断奇数和偶数相关推荐
- python判断奇数和偶数_从Python中的给定列表中提取偶数和奇数
python判断奇数和偶数 In this problem, we are given a list by the user which may be the mixture of even and ...
- 关于异或的判断奇数还是偶数的性质。
异或可以简单理解为无进位加法,比如2的二进制为10,1的二进制为01,1^2的结果为3,二进制为11. 那么通过这个性质可以用来判断奇数还是偶数. 具体内容 比如一个偶数为6,它的二进制为110:1的 ...
- javascript判断日期奇偶_JavaScript判断奇数和偶数的两种方法
JavaScript是前端开发中必不可少的一部分,那你知道如何用JS判断一个数是奇数还偶数吗?这篇文章就给大家分享JS判断奇数和偶数的两种方法,有一定的参考价值,感兴趣的朋友可以参考一下. 方法一:用 ...
- 如何高效地判断奇数和偶数
在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况. 大家一般的处理做法是用这个整数和2取模.然后判断是等于1还是等于0. 这里,我要为大家介绍一种快速有效的判断做法,利用2进制进行判 ...
- 判断奇数还是偶数【c语言】
要求:判断一个数是奇数还是偶数 法1:三目运算符实现 int main() {int num = 5;num % 2 == 0 ? printf("yes") : printf(& ...
- [PTA]C语言 判断奇数和偶数
输入一个整数,判断该数是奇数还是偶数. 输入格式: 输入整数n. 输出格式: 如果该数是奇数就输出"odd",偶数就输出"even"(输出不含双引号). 输入样 ...
- javascript判断日期奇偶_js中判断奇数或偶数
给定一个数字列表,请确定其元素的总和是奇数还是偶数. 将答案作为字符串匹配"odd"或"even".如果输入数组为空,则将其视为:([0]具有零的数组) fun ...
- html中奇数偶数判断,js中判断奇数或偶数
给定一个数字列表,请确定其元素的总和是奇数还是偶数. 将答案作为字符串匹配"odd"或"even".如果输入数组为空,则将其视为:([0]具有零的数组) fun ...
- 算法 | 如何快速判断奇数偶数
public class A {public static void main(String[] args) {int i = 101;String str = i%2 != 0 ? "奇数 ...
- HTML前端输入一个值判断奇数还是偶数
目录 解释: 1.这个是让用户输入一个任意数 2.先用输入的值磨2如果等于0那就输出偶数,否则就奇数. 代码:展示 成品运行展示: 1.如果输入10那么就弹出偶数 2.如果输入15,那么久弹出奇数 解 ...
最新文章
- CQRS体系结构模式实践案例:Tiny Library:领域仓储与事件存储
- Linux Kernel TCP/IP Stack — L2 Layer — Linux Bridge(虚拟网桥)的基本操作
- 【PAT (Advanced Level) Practice】1002 A+B for Polynomials (25 分)
- Python如何嵌入C/C++进行开发
- 重磅 | 《机器学习综述》算法分类及特征工程手写笔记
- Xmind快捷键笔记
- Moodle 安装出现访问空白和open_basedir问题
- oracle 索引原理
- uniapp 在HBuilder X中配置微信小程序开发工具
- java数据过载,处理服务器过载的三大解决方法
- SSE学习-一个小栗子
- 木瓜移动全方位布局跨境电商SaaS木瓜大橙, 这条新赛道有何机遇?
- 用 Python 播放多声轨 MIDI 文件音乐
- 电路城(www.cirmall.com)— Altium常用库文件(元件库+封装库+常用元器件3D模型)
- Spark SQL: Relational Data Processing in Spark
- R语言用WinBUGS 软件对学术能力测验(SAT)建立层次(分层)贝叶斯模型
- 分享一个 C# Winfrom 下的 OutlookBar 控件的使用
- CANopen协议,上位机开发(C#)
- 决策理论与方法——效用函数
- leetcode 986 、56 ——区间问题(数组区间的并集和交集)