Set the K-th bit of a given number
Last Updated :
19 Jul, 2022
Improve
Try it on GfG Practice
Given a number n and a value k. From the right, set the kth bit in the binary representation of n. The position of LSB(or last bit) is 0, second last bit is 1 and so on. Also, 0 <= k < x, where x is the number of bits in the binary representation of n.
Examples:
Input : n = 10, k = 2 Output : 14 (10)10 = (1010)2 Now, set the 2nd bit from right. (14)10 = (1110)2 2nd bit has been set. Input : n = 15, k = 3 Output : 15 3rd bit of 15 is already set.
To set any bit we use bitwise OR | operator. As we already know bitwise OR | operator evaluates each bit of the result to 1 if any of the operand's corresponding bit is set (1). In-order to set kth bit of a number we need to shift 1 k times to its left and then perform bitwise OR operation with the number and result of left shift performed just before.
In general, (1 << k) | n.
// C++ implementation to set the kth bit
// of the given number
#include <bits/stdc++.h>
using namespace std;
// function to set the kth bit
int setKthBit(int n, int k)
{
// kth bit of n is being set by this operation
return ((1 << k) | n);
}
// Driver program to test above
int main()
{
int n = 10, k = 2;
cout << "Kth bit set number = "
<< setKthBit(n, k);
return 0;
}
// Java implementation to set the kth bit
// of the given number
class GFG {
// function to set the kth bit
static int setKthBit(int n, int k)
{
// kth bit of n is being set by this operation
return ((1 << k) | n);
}
// Driver code
public static void main(String arg[])
{
int n = 10, k = 2;
System.out.print("Kth bit set number = " +
setKthBit(n, k));
}
}
// This code is contributed by Anant Agarwal.
# Python implementation
# to set the kth bit
# of the given number
# function to set
# the kth bit
def setKthBit(n,k):
# kth bit of n is being
# set by this operation
return ((1 << k) | n)
# Driver code
n = 10
k = 2
print("Kth bit set number = ",
setKthBit(n, k))
# This code is contributed
# by Anant Agarwal.
// C# implementation to set the
// kth bit of the given number
using System;
class GFG {
// function to set the kth bit
static int setKthBit(int n, int k)
{
// kth bit of n is being set
// by this operation
return ((1 << k) | n);
}
// Driver code
public static void Main()
{
int n = 10, k = 2;
Console.Write("Kth bit set number = "
+ setKthBit(n, k));
}
}
// This code is contributed by
// Smitha Dinesh Semwal.
<?php
// PHP implementation to
// set the kth bit of
// the given number
// function to set
// the kth bit
function setKthBit($n, $k)
{
// kth bit of n is being
// set by this operation
return ((1 << $k) | $n);
}
// Driver Code
$n = 10; $k = 2;
echo "Kth bit set number = ",
setKthBit($n, $k);
// This code is contributed by m_kit
?>
<script>
// Javascript implementation to set the
// kth bit of the given number
// function to set the kth bit
function setKthBit(n, k)
{
// kth bit of n is being set
// by this operation
return ((1 << k) | n);
}
let n = 10, k = 2;
document.write("Kth bit set number = " + setKthBit(n, k));
// This code is contributed by rameshtravel07.
</script>
Output:
Kth bit set number = 14
Time Complexity: O(1)
Auxiliary Space: O(1)