Algorithms_in_C++ 1.0.0
Set of algorithms implemented in C++.
Loading...
Searching...
No Matches
set_kth_bit.cpp File Reference

Implementation to [From the right, set the Kth bit in the binary representation of N] (https://practice.geeksforgeeks.org/problems/set-kth-bit3724/1/) in an integer. More...

#include <cassert>
#include <iostream>
Include dependency graph for set_kth_bit.cpp:

Namespaces

namespace  bit_manipulation
 for IO operations
 
namespace  setKthBit
 Functions for the [From the right, set the Kth bit in the binary representation of N] (https://practice.geeksforgeeks.org/problems/set-kth-bit3724/1/) implementation.
 

Functions

std::uint64_t bit_manipulation::set_kth_bit::setKthBit (std ::int64_t N, std ::int64_t k)
 The main function implements set kth bit.
 
static void test ()
 Self-test implementations.
 
int main ()
 Main function.
 

Detailed Description

Implementation to [From the right, set the Kth bit in the binary representation of N] (https://practice.geeksforgeeks.org/problems/set-kth-bit3724/1/) in an integer.

Given a number N and a value K. From the right, set the Kth bit in the binary representation of N. The position of Least Significant Bit(or last bit) is 0, the second last bit is 1 and so on. in it.

A binary number consists of two digits. They are 0 & 1. Digit 1 is known as set bit in computer terms. Worst Case Time Complexity: O(1) Space complexity: O(1)

Author
Aman Raj

Function Documentation

◆ main()

int main ( void )

Main function.

Returns
0 on exit
76 {
77 test(); // run self-test implementations
78 return 0;
79}
static void test()
Self-test implementations.
Definition set_kth_bit.cpp:60
Here is the call graph for this function:

◆ setKthBit()

std::uint64_t bit_manipulation::set_kth_bit::setKthBit ( std ::int64_t N,
std ::int64_t k )

The main function implements set kth bit.

Parameters
Nis the number whose kth bit will be set
Returns
returns an integer after setting the K'th bit in N
43 { // int64_t is preferred over int so
44 // that no Overflow can be there.
45
46 int pos =
47 1 << k; // "pos" variable is used to store 1 at kth postion and
48 // rest bits are 0. in binary representation of number 'n'
49
50 return N | pos; // by taking or with the pos and the N we set the bit of N
51 // at kth position.
52}
double k(double x)
Another test function.
Definition composite_simpson_rule.cpp:117
constexpr uint32_t N
A struct to represent sparse table for min() as their invariant function, for the given array A....
Definition sparse_table.cpp:47

◆ test()

static void test ( )
static

Self-test implementations.

Returns
void
60 {
61 // n = 10,2 return 14
62 assert(bit_manipulation::set_kth_bit::setKthBit(10, 2) == 14);
63 // n = 25,1 return 27
64 assert(bit_manipulation::set_kth_bit::setKthBit(25, 1) == 27);
65 // n = 400001,5 return 400033
66 assert(bit_manipulation::set_kth_bit::setKthBit(400001, 5) == 400033);
67 // n = 123 return 123
68 assert(bit_manipulation::set_kth_bit::setKthBit(123, 3) == 123);
69
70 std::cout << "All test cases successfully passed!" << std::endl;
71}
T endl(T... args)
Here is the call graph for this function: