w3resource

JavaScript - Check if kth bit is set or not for a number

JavaScript Bit Manipulation: Exercise-11 with Solution

Write a JavaScript program to check whether the kth bit is set or not in a given number. Return true if the kth bit is set otherwise false.

In a binary representation the presence of a non-zero value indicates that the k'th bit is set.

Test Data:
(33, 1) -> true
Explanation:
Binary format of 33 is -> 100001
K =1 -> kth bit is 1 [Non-zero value indicates that the k'th bit is set.]
(33, 2) -> false
Explanation:
Binary format of 33 is -> 100001
K =2 -> kth bit is 0 [Zero value indicates that the k'th bit is not set.]

Sample Solution:

JavaScript Code:

const turn_On_Kth_Bit = (n, k) => {
 if (typeof n!= "number") {
     return 'It must be number!'
     }
   return (n & (1 << (k - 1))) != 0;
 }
n = 33
k = 1
console.log(n + " in binary is " + n.toString(2))
console.log("k = "+k);
result_n = turn_On_Kth_Bit(n, k);
console.log("Check kth bit is set or not in the said number! " + result_n)
n = 33
k = 2
console.log(n + " in binary is " + n.toString(2))
console.log("k = "+k);
result_n = turn_On_Kth_Bit(n, k);
console.log("Check kth bit is set or not in the said number! " + result_n)

Sample Output:

33 in binary is 100001
k = 1
Check kth bit is set or not in the said number! true
33 in binary is 100001
k = 2
Check kth bit is set or not in the said number! false

Flowchart:

Flowchart: JavaScript - Check if kth bit is set or not for a number.

Live Demo:

See the Pen javascript-bit-manipulation-exercise-11 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: Turn on the kth bit of a given number.
Next: Position of the rightmost set bit of a 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