MCPcopy Create free account
hub / github.com/apna-college/Alpha / BitOperations

Class BitOperations

5_Bit Manipulation/BitOperations.java:1–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1public class BitOperations {
2 //Get ith Bit
3 public static int getIthBit(int n, int i) {
4 int bitMask = 1<<i;
5 return (n & bitMask) == 0 ? 0 : 1;
6 }
7
8 //Set ith Bit
9 public static int setIthBit(int n, int i) {
10 int bitMask = 1<<i;
11 return n | bitMask;
12 }
13
14 //Clear ith Bit
15 public static int clearIthBit(int n, int i) {
16 int bitMask = ~(1<<i);
17 return n & bitMask;
18 }
19
20 //Update ith Bit
21 public static int updateIthBit(int n, int i, int val) {
22 //Method1
23 // if(val == 0) {
24 // return n & (~(1<<i));
25 // } else {
26 // return n | (1<<i);
27 // }
28
29 //Method2
30 n = clearIthBit(n, i);
31 int bitMask = val<<i;
32 return n | bitMask;
33 }
34
35 //Clear Last i Bits
36 public static int clearLastIbits(int n, int i) {
37 int bitMask = (~0)<<i; // or (-1)<<i
38 return n | bitMask;
39 }
40
41 //Clear Bits in Range (i,j)
42 public static int clearBitsinRange(int n, int i, int j) {
43 int a = ~0<<i;
44 int b = (1<<i)-1;
45 int bitMask = a | b;
46 return n & bitMask;
47 }
48
49 //Check if number is power of 2 or not
50 public static boolean isPowerof2(int n) {
51 return (n & (n-1)) == 0;
52 }
53
54 //Count number of set bits
55 public static int countSetBits(int n) {
56 int setBits = 0;
57 int bitMask = 1;
58 while(n != 0) {
59 if((n & bitMask) != 0) { //last bit is 1
60 setBits++;

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…