如何在JavaScript中不使用modulo操作符检查一个数字是否为偶数

如何在JavaScript中不使用modulo操作符检查一个数字是否为偶数

在本文中,我们将学习如何在不使用%或modulo操作符的情况下检查一个数字是否为偶数。以下是几种方法。

**1. 通过使用位运算符 **’ &’****:当对一个数字进行与1的运算时,如果该数字为零,它将返回0。我们将使用这种方法来检查数字是否为偶数。

解释: 以下计算展示了当对偶数进行与1的运算时,它是如何被计算出来的。

2&1=0 ,则 !(0)为true,所以2是一个偶数
0 0 1 0
&
0 0 0 1
0 0 0 0
3&1=1 ,则 !(1)为false,所以3是一个奇数
0 0 1 1
&
0 0 0 1
0 0 0 1
HTML

示例:

function isEvenNumber(num) {
    if (!(num & 1)) {
        return `{num}是一个偶数`;
    } else {
        return `{num}是一个奇数`;
    }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
HTML

输出:

2是一个偶数
3是一个奇数
HTML

2. 通过将数字乘以和除以2: 偶数不会丢失小数值,因此比较结果为 true 。对于奇数,十进制小数位将丢失,比较结果为 false

示例:

function isEvenNumber(num) {
if(Math.floor(num / 2) * 2 === num) {
    return `{num}是一个偶数`;
 } else {
    return `{num}是一个奇数`;
 }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
HTML

输出:

2是一个偶数
3是一个奇数
HTML

3. 通过使用正则表达式(JavaScript正则表达式): 在这种方法中,我们检查数字的最后一位数。如果最后一位数是(0、2、4、6、8),则该数字是偶数,否则是奇数。

示例:

function isEvenNumber(num) {
if(/^\d*[02468]/.test(num)) {
    return `{num}是一个偶数`;
 } else {
    return `${num}是一个奇数`;
 }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
HTML

输出:

2是一个偶数
3是一个奇数
HTML

4. 通过使用数字类的预定义方法: 我们使用数字类的isInteger()方法来确定数字是否属于整数。如果数字不是整数,则该函数返回 false ,如果数字是整数则返回 true

2/2=0 ,其中0是一个整数
3/2=1.5 ,其中1.5不是一个整数
HTML

示例:

function isEvenNumber(num) {
if(Number.isInteger(num / 2)) {
    return `{num}是一个偶数`;
 } else {
    return `{num}是一个奇数`;
 }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
HTML

输出:

2是一个偶数
3是一个奇数
HTML

5. 通过使用条件循环: 我们从2中减去一个数,直到这个数小于2。然后,我们将检查剩余的数是1还是0。如果答案是1,则这个数是奇数,否则这个数是偶数。

示例:

function isEvenNumber(num) {
 
  // Math.abs()用于处理负数
  num = Math.abs(num);
  while (num >= 2) {
     num = num - 2;
  }
  if (num === 1) {
     return `{num} 是奇数`;
  } else {
     return `{num} 是偶数`;
  }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
HTML

输出:

2 是偶数
3 是奇数
HTML

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册