Open In App

How to turn on a particular bit in a number?

Last Updated : 05 May, 2021
Comments
Improve
Suggest changes
Like Article
Like
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

 

Next Article
Article Tags :
Practice Tags :

Similar Reads