Open In App

How to turn on a particular bit in a number?

Last Updated : 05 May, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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>


Output: 

6

 



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads