Skip to content
Related Articles

Related Articles

How to check a number is even without using modulo operator in JavaScript ?

View Discussion
Improve Article
Save Article
  • Last Updated : 01 Dec, 2021

In this article, we learn how to check if a number is even without using the % or modulo operator. The methods are mentioned below.

1. By using the bitwise ‘&’ operator:

Explanation: 

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

HTML




<script>
   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));
</script>


Output:

2 is an even number
3 is an odd number

2. By multiplying and dividing a number by two: Even numbers do not lose decimal value so comparisons will be true. In the case of odd numbers, the decimal point value will be lost and comparisons will be false.

HTML




<script>
   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));
</script>


Output:

2 is an even number
3 is an odd number

3. By using Regular Expression (JavaScript Regex): In this method, we check the last digit number. If the last digit number falls between (0,2,4,6,8) then the number is an even number otherwise a number is an odd number.

HTML




<script>
   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));
</script>


Output:

2 is an even number
3 is an odd number

4. By using a predefined method of number class: We use the isInteger() method of the number class to determine whether the number belongs to the integer or not. The function returns false if the number is not an integer, and returns true if the number is an integer.  

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

HTML




<script>
   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));
</script>


Output:

2 is an even number
3 is an odd number

5. By using conditional Loop: We subtract a number from 2 until the number is less than 2. Then we are going to see if the remaining number is 1 or 0. if the answer is 1 then the number is an odd number and else the number is an even number. 

HTML




<script>
   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));
</script>


Output:

2 is an even number
3 is an odd number

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!