w3resource

JavaScript - Turn off the kth bit of a given number

JavaScript Bit Manipulation: Exercise-9 with Solution

Write a JavaScript program to turn off the kth bit in a given number. Return the new number.

Test Data:
(30, 3)-> 26

Explanation:
Binary format of 30 is -> 11110
Fortmat of the said number after off the 3rd bit -> 11010
After converting 11010 to decimal : 11010 -> 26
(100, 6) -> 68
Explanation:
Binary format of 100 is -> 1100100
Fortmat of the said number after off the 6th bit -> 1000100
After converting 1000100 to decimal : 1000100 -> 68

Sample Solution:

JavaScript Code:

const turn_Off_Kth_Bit = (n, k) => {
 if (typeof n!= "number") {
     return 'It must be number!'
     }
   return n & ~(1 << (k - 1))
 }
n = 30
k = 3
console.log(n + " in binary is " + n.toString(2))
console.log("Turning k'th bit off,"+" k = "+k);
result_n = turn_Off_Kth_Bit(n, k)
console.log(result_n + " in binary is " + result_n.toString(2))
n = 100
k = 6
console.log(n + " in binary is " + n.toString(2))
console.log("Turning k'th bit off,"+" k = "+k);
result_n = turn_Off_Kth_Bit(n, k)
console.log(result_n + " in binary is " + result_n.toString(2))

Sample Output:

30 in binary is 11110
Turning k'th bit off, k = 3
26 in binary is 11010
100 in binary is 1100100
Turning k'th bit off, k = 6
68 in binary is 1000100

Flowchart:

Flowchart: JavaScript - Turn off the  kth bit of  a given number.

Live Demo:

See the Pen javascript-bit-manipulation-exercise-9 by w3resource (@w3resource) on CodePen.


* To run the code mouse over on Result panel and click on 'RERUN' button.*

Improve this sample solution and post your code through Disqus

Previous: Binary logarithm using bitwise operators.
Next: Turn on the kth bit of a given number.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Share this Tutorial / Exercise on : Facebook and Twitter

JavaScript: Tips of the Day

function and arguments

const person = {
  name: 'Lydia Hallie',
  hobbies: ['coding'],
};

function addHobby(hobby, hobbies = person.hobbies) {
  hobbies.push(hobby);
  return hobbies;
}

addHobby('running', []);
addHobby('dancing');
addHobby('baking', person.hobbies);

console.log(person.hobbies);

The addHobby function receives two arguments, hobby and hobbies with the default value of the hobbies array on the person object.
First, we invoke the addHobby function, and pass "running" as the value for hobby and an empty array as the value for hobbies. Since we pass an empty array as the value for y, "running" gets added to this empty array.
Then, we invoke the addHobby function, and pass "dancing" as the value for hobby. We didn't pass a value for hobbies, so it gets the default value, the hobbies property on the person object. We push the hobby dancing to the person.hobbies array.
Last, we invoke the addHobby function, and pass "bdaking" as the value for hobby, and the person.hobbies array as the value for hobbies. We push the hobby baking to the person.hobbies array.
After pushing dancing and baking, the value of person.hobbies is ["coding", "dancing", "baking"]

Ref: https://bit.ly/2Hcpkm6