Write a python program to count total bits in a number?

To count the total bits in a number, we convert it to binary representation using Python's bin() function. Each bit represents data as 0 or 1, making them fundamental for digital operations and data storage.

Syntax

The bin() function converts a number to binary format ?

bin(number)  # Returns binary string with '0b' prefix

To count bits, we remove the '0b' prefix using slicing ?

binary_bits = bin(number)[2:]  # Remove '0b' prefix
bit_count = len(binary_bits)   # Count the bits

Using the bin() Function

Here's how to count bits in a number by converting to binary and finding the length ?

number = 4
binary = bin(number)[2:]
print(f"The binary format of {number}: {binary}")
print(f"The number of bits: {len(binary)}")
The binary format of 4: 100
The number of bits: 3

Counting Bits in Larger Numbers

Let's count bits in a larger decimal number ?

number = 2201
binary = bin(number)[2:]
print(f"The binary format of {number}: {binary}")
print(f"The number of bits: {len(binary)}")
The binary format of 2201: 100010011001
The number of bits: 12

Alternative Method Using bit_length()

Python integers have a built-in bit_length() method for counting bits ?

number = 1407
bits_using_bin = len(bin(number)[2:])
bits_using_method = number.bit_length()

print(f"Number: {number}")
print(f"Binary: {bin(number)[2:]}")
print(f"Bits using bin(): {bits_using_bin}")
print(f"Bits using bit_length(): {bits_using_method}")
Number: 1407
Binary: 10101111111
Bits using bin(): 11
Bits using bit_length(): 11

Handling Float Numbers

The bin() function only works with integers. Float numbers will raise a TypeError ?

try:
    number = 23.5
    binary = bin(number)[2:]
    print(f"Bits: {len(binary)}")
except TypeError as e:
    print(f"Error: {e}")
    print("Solution: Convert float to int first")
    int_number = int(number)
    binary = bin(int_number)[2:]
    print(f"Bits in {int_number}: {len(binary)}")
Error: 'float' object cannot be interpreted as an integer
Solution: Convert float to int first
Bits in 23: 5

Comparison of Methods

Method Syntax Advantage
bin()[2:] len(bin(n)[2:]) Shows binary representation
bit_length() n.bit_length() Direct and efficient

Conclusion

Use bin(number)[2:] with len() to count bits while seeing the binary representation. For direct bit counting, bit_length() is more efficient and cleaner.

Updated on: 2026-03-24T20:53:29+05:30

341 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements