# Algorithms_in_C++: bit_manipulation/set_kth_bit.cpp File Reference

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. More...
static void | test ()
| Self-test implementations. More...
int | main ()
| Main function. More...

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

{
test(); // run self-test implementations
return 0;
}
test
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

  N | is the number whose kth bit will be set

Returns
  returns an integer after setting the K'th bit in N

{ // int64_t is preferred over int so
// that no Overflow can be there.
int pos =
1 << k; // "pos" variable is used to store 1 at kth postion and
// rest bits are 0. in binary representation of number 'n'
return N | pos; // by taking or with the pos and the N we set the bit of N
// at kth position.
}
numerical_methods::simpson_method::k
double k(double x)
Another test function.
Definition: composite_simpson_rule.cpp:117
data_structures::sparse_table::N
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

{
// n = 10,2 return 14
assert(bit_manipulation::set_kth_bit::setKthBit(10, 2) == 14);
// n = 25,1 return 27
assert(bit_manipulation::set_kth_bit::setKthBit(25, 1) == 27);
// n = 400001,5 return 400033
assert(bit_manipulation::set_kth_bit::setKthBit(400001, 5) == 400033);
// n = 123 return 123
assert(bit_manipulation::set_kth_bit::setKthBit(123, 3) == 123);
std::cout << "All test cases successfully passed!" << std::endl;
}
std::cout
std::endl
T endl(T... args)
Here is the call graph for this function: