JavaScript 如何判断一个数字是否为偶数而不使用模运算符

JavaScript 如何判断一个数字是否为偶数而不使用模运算符

在本文中,我们将学习如何在不使用模运算符的情况下判断一个数字是否为偶数。以下是具体的方法。

1. 使用按位与运算符: 当一个数字与1进行按位与运算时,如果这个数字是偶数,结果将返回0。我们将利用这个方法来判断一个数字是否为偶数。

解释: 下面的计算显示了当一个偶数与1进行按位与运算时的结果。

2&1=0 then !(0) is true, so 2 is an even number 
0 0 1 0 
& 
0 0 0 1 
0 0 0 0
3&1=1 then !(1) is false, so 3 is an odd number 
0 0 1 1 
& 
0 0 0 1 
0 0 0 1
JavaScript

示例:

JavaScript

function isEvenNumber(num) {
    if (!(num & 1)) {
        return `{num} is an even number`;
    } else {
        return `{num} is an odd number`;
    }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
JavaScript

输出:

2 is an even number
3 is an odd number
JavaScript

2. 通过将一个数字乘以二或除以二: 确保偶数不会失去小数位,因此比较结果将为 true 。而对于奇数,小数位将会丢失,比较结果将为 false 。

示例:

JavaScript

function isEvenNumber(num) {
if(Math.floor(num / 2) * 2 === num) {
     return `{num} is an even number`;
  } else {
     return `{num} is an odd number`;
  }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
JavaScript

输出:

2 is an even number
3 is an odd number
JavaScript

3. 通过使用****正则表达式(JavaScript Regex)****: 通过这种方法,我们检查最后一位数字。如果最后一位数字是在(0,2,4,6,8)之间,那么这个数是偶数,否则是奇数。

例如:

JavaScript

function isEvenNumber(num) {
if(/^\d*[02468]/.test(num)) {
     return `{num} is an even number`;
  } else {
     return `${num} is an odd number`;
  }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
JavaScript

输出:

2 is an even number
3 is an odd number
JavaScript

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

2/2 =0  where 0 is an integer
3/2=1.5 where 1.5 is an integer
JavaScript

示例:

JavaScript

function isEvenNumber(num) {
if(Number.isInteger(num / 2)) {
     return `{num} is an even number`;
  } else {
     return `{num} is an odd number`;
  }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
JavaScript

输出:

2 is an even number
3 is an odd number
JavaScript

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

示例:

Javascript

function isEvenNumber(num) {
 
  // Math.abs() is for negative number
  num = Math.abs(num);
  while (num >= 2) {
     num = num - 2;
  }
  if (num === 1) {
     return `{num} is an odd number`;
  } else {
     return `{num} is an even number`;
  }
}
console.log(isEvenNumber(2));
console.log(isEvenNumber(3));
JavaScript

输出:

2 is an even number
3 is an odd number
JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册