Given a number n and a value k, turn on the k’th bit in n.
Examples:
Input: n = 4, k = 2 Output: 6 Input: n = 3, k = 3 Output: 7 Input: n = 64, k = 4 Output: 72 Input: n = 64, k = 5 Output: 80
The idea is to use bitwise << and | operators. Using expression “(1 << (k – 1))“, we get a number which has all bits unset, except the k’th bit. If we do bitwise | of this expression with n, we get a number which has all bits same as n except the k’th bit which is 1.
Below is the implementation of above idea.
C++
// CPP program to turn on a particular bit #include <iostream> using namespace std; // Returns a number that has all bits same as n // except the k'th bit which is made 1 int turnOnK( int n, int k) { // k must be greater than 0 if (k <= 0) return n; // Do | of n with a number with all // unset bits except the k'th bit return (n | (1 << (k - 1))); } // Driver program to test above function int main() { int n = 4; int k = 2; cout << turnOnK(n, k); return 0; } |
Java
// Java program to turn on a particular // bit class GFG { // Returns a number that has all // bits same as n except the k'th // bit which is made 1 static int turnOnK( int n, int k) { // k must be greater than 0 if (k <= 0 ) return n; // Do | of n with a number with // all unset bits except the // k'th bit return (n | ( 1 << (k - 1 ))); } // Driver program to test above // function public static void main(String [] args) { int n = 4 ; int k = 2 ; System.out.print(turnOnK(n, k)); } } // This code is contributed by Smitha |
Python 3
# Python 3 program to turn on a # particular bit # Returns a number that has all # bits same as n except the k'th # bit which is made 1 def turnOnK(n, k): # k must be greater than 0 if (k < = 0 ): return n # Do | of n with a number # with all unset bits except # the k'th bit return (n | ( 1 << (k - 1 ))) # Driver program to test above # function n = 4 k = 2 print (turnOnK(n, k)) # This code is contributed by # Smitha |
C#
// C# program to turn on a particular // bit using System; class GFG { // Returns a number that has all // bits same as n except the k'th // bit which is made 1 static int turnOnK( int n, int k) { // k must be greater than 0 if (k <= 0) return n; // Do | of n with a number // with all unset bits except // the k'th bit return (n | (1 << (k - 1))); } // Driver program to test above // function public static void Main() { int n = 4; int k = 2; Console.Write(turnOnK(n, k)); } } // This code is contributed by Smitha |
PHP
<?php // PHP program to turn on a particular bit // Returns a number that has // all bits same as n except // the k'th bit which is made 1 function turnOnK( $n , $k ) { // k must be greater than 0 if ( $k <= 0) return $n ; // Do | of n with a number with all // unset bits except the k'th bit return ( $n | (1 << ( $k - 1))); } // Driver Code $n = 4; $k = 2; echo turnOnK( $n , $k ); // This code is contributed by m_kit ?> |
Javascript
<script> // Javascript program to turn on a particular bit // Returns a number that has all // bits same as n except the k'th // bit which is made 1 function turnOnK(n, k) { // k must be greater than 0 if (k <= 0) return n; // Do | of n with a number // with all unset bits except // the k'th bit return (n | (1 << (k - 1))); } let n = 4; let k = 2; document.write(turnOnK(n, k)); // This code is contributed by suresh07. </script> |
6
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!