判断奇数和偶数不常见的方法
通常我们在判断一个数是奇数还是偶数的时候,大部分都会用下面的这个方法去判断(没有考虑输入的数是小数的情况)。
function fn(number){if(number % 2 === 0) return '偶数';return '奇数';
}
有时候可能会不小心写成下面这样。
function fn(number){if(number % 2 === 1) return '奇数';return '偶数';
}
第二种判断方法是有问题的,如果当我们要判断的这个数是-3时回怎样呢?-3 % 2 = -1,-1 !== 1所以我们得到这个数是偶数的错误答案。所以我们可以换一种方法来进行奇数,偶数的判断。那就是使用&进行判断。
我们知道&会将左右两边要判断的数据转换为二进制,比如8 & 1
8: 00001000
1: 00000001
得到的结果是00000000(2) => 0(10)
这里们判断的其中一个操作数固定是1,当我们拿其它数和1进行&操作时,最后的结果要么是0要么是1,因为1的二进制数除了最后一位,其它位的数字都是0。
当一个数是偶数时,它转为二进制时,最后一位一定是0,如果它是奇数,那么它的二进制数的最后一位一定是1,所以一个数和1进行&操作后如果其值为0,那么这个数就是偶数,否则这个数就是奇数。
代码如下:
let number
if(number & 1){console.log('奇数')
}else{console.log('偶数')
}
如果本文中有什么错误,还希望大家指出,一起学习。
判断奇数和偶数不常见的方法相关推荐
- javascript判断日期奇偶_JavaScript判断奇数和偶数的两种方法
JavaScript是前端开发中必不可少的一部分,那你知道如何用JS判断一个数是奇数还偶数吗?这篇文章就给大家分享JS判断奇数和偶数的两种方法,有一定的参考价值,感兴趣的朋友可以参考一下. 方法一:用 ...
- 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的 ...
- 如何高效地判断奇数和偶数
在我们日常的编程当中,常常会遇到判断某个整数属于奇数还是偶数的情况. 大家一般的处理做法是用这个整数和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 ...
- Excel:5种判断奇数和偶数的方法
整数中,能被2整除的数是偶数(英文:EVEN,数学术语),不能被2整除的数是奇数(英文:ODD,数学术语),偶数可用2k表示,奇数可用2k+1表示,这里k是整数.0是一个特殊的偶数.那么,该如何使用E ...
最新文章
- 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
- ROS-Baxter抓取
- Nat. Med. | 人工智能临床研究新指南
- java类验证和装载顺序_java类加载机制,你会了吗?
- 【机器学习】深入理解CatBoost
- 【Python数据预处理】 归一化(按列减均值,除方差),标准化(按列缩放到指定范围),正则化(范数)
- android_jsbridge,让你和前端愉快的交互
- 如果生活中没有数学,那么。。。
- [html] viewport常见设置都有哪些?
- java数组更新_java刷新数组到jList
- 常用JS库源码 - store.js源码/underscore.js源码
- 解决IE8不支持数组的indexOf方法
- paip.互联网产品要成功的要素
- 结合使用Canvas API与History API——模拟绘图
- Linux数据库迁移
- DB2查看事务日志使用空间
- linux gpu 地址空间,显卡内存和进程的虚拟地址空间
- 拉丁超立方采样的思想和代码
- python正则表达式匹配数字和字母_只能输入数字和字母组合的正则表达式怎么写?...
- leetcode--石子游戏