Q:
C program to find the Highest Bit Set for any given Integer
belongs to collection: C solved programs/examples on Bitwise Operators
C solved programs/examples on Bitwise Operators
- C program to find Binary number of a Decimal number
- C program to demonstrate example of left shift (<<) operator
- C program to swap two nibbles of a byte.
- C program to counter number of 1\'s in an integer number.
- C program to reverse bits of an integer number.
- C program to swap two words/bytes.
- C program to check whether all bits of a number are UNSET/LOW?
- C program to swap two bits of a byte
- C program to get minimum number of bits to store an integer number
- C program to demonstrate example of right shift (>>) operator
- C program to set/clear (high/low) bits of a number
- C program to swap two numbers using bitwise XOR operator
- C program to Count the Number of Trailing Zeroes in an Integer
- C program to find the Highest Bit Set for any given Integer
- C program to check if all the bits of a given integer is one (1)
- C program to count number of bits set to 1 in an Integer
- C program to check whether a given number is palindrome or not using Bitwise Operator
- C program to find odd or even number using bitmasking
- C program to replace bit in an integer at a specified position from another integer
- C program to swap two Integers using Bitwise Operators
- C program to Check if nth Bit in a 32-bit Integer is set or not
- C program to check a number contain the alternative pattern of bits
- C program to find the next number power of 2
- C program to find the position of MSB bit of an unsigned integer number
- C program to round off an integer number to the next lower multiple of 2
- C program to print the range of fundamental data types using bitwise operators
- C program to count the number of leading zeros in a binary number
- C program to read a byte and print bits between given positions
- C program to swap two bits of a 32-bit integer number
- C program to check a given number is the power of 2 using bitwise operator
- C program to count the number of bits to be flipped to convert a number to another number
- C program to print bits that need to be flipped to convert a number to another number

C programming
Pre-requisite: Input number n
Algorithm:
1) Set count=0 & store= -1 2) Do bit wise AND between n and 1. n & 1 let n be a7a6a5a4a3a2a1a0 1->00000001 So doing bitwise AND (refer to published article on bitwise operators) will result in all bits 0 except the LSB which will be a0. If a0 is 1 then it is set, else not set. If a0 is 1 then the bitwise AND results in 00000001 (1) else 00000000 (0) Thus, IF n& 1 ==1 //current bit is set update store to current count value. END IF 3) count++; 4) Right shift n by 1 n = n >> 1 5) IF n==0 Break ELSE REPEAT step 2, 3, 4 6) IF store==-1 No set bit Else Print storeExample with Explanation:
Highest set bit in 12 (0-index based position, i.e., LSB is 0th bit): 12 → 00001100
C implementation
Output
need an explanation for this answer? contact us directly to get an explanation for this answer