Skip to content
Related Articles

Related Articles

How to turn on a particular bit in a number?
  • Difficulty Level : Basic
  • Last Updated : 08 Jun, 2018

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


Python 3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>

chevron_right


Output:

6

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :