Given an unsigned number, find the minimum number that could be formed by using the bits of the given unsigned number.
Input : 6
Output : 3
Binary representation of 6 is 0000….0110. Smallest number with same number of set bits 0000….0011.
Input : 11
Output : 7
1. Find binary representation of the number using simple decimal to binary representation technique.
2. Count number of set bits in the binary representation equal to ‘n’.
3. Create a binary representation with it’s ‘n’ least significant bits set to 1.
4. Convert the binary representation back to the number.
1. Just measure the number of 1’s present in the bit representation of the number.
2. (Number of set bits raised to the power of 2) – 1 represents the minimized number.
Note : The above code uses GCC specific functions. If we wish to write code for other compilers, we may use Count set bits in an integer.
- Minimum flips required to maximize a number with k set bits
- Check if bits of a number has count of consecutive set bits in increasing order
- Maximize a given unsigned number number by swapping bits at it's extreme positions.
- Maximum number of contiguous array elements with same number of set bits
- Check if a number has same number of set and unset bits
- Toggle bits of a number except first and last bits
- Number of integers with odd number of set bits
- Next higher number with same number of set bits
- M-th smallest number having k number of set bits.
- Find a number which give minimum sum when XOR with every number of array of integers
- Minimum number of given powers of 2 required to represent a number
- Same Number Of Set Bits As N
- Set all odd bits of a number
- Set all even bits of a number
- Check whether the number has only first and last bits set
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.