Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Jan 12, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Get a Hold of the Bits in Your Integers

Sometimes, it is useful to obtain a binary representation of integer, or a character. For example, we might want to represent the character 'a' by its binary 01100001, the letter 'b' is 01100010, and so on.

We can obtain the individual bits in an integer by anding it with a bitmask that contains a one bit in the position we are fetching and a zero bits in all the other positions.

If the result of the and is zero, then that bit is not set, otherwise the bit is set. To print out all of the bits in a number (or character), we can write a loop to shift the bitmask and perform the anding on each bit.

The following function prints a range of bits in an integer.
    public void printBits(int number, int startBit, int numBits) 
        int bitmask; 
        bitmask = 0x80000000 >>> startBit; 
        numBits += startBit; 
        for(int i=startBit; i < numBits; ++i) 
            if((number & bitmask) == 0) 
            bitmask >>>= 1; 
to print out the binary representation of characters from 'a' to 'z', we can write: 
        for(char ch='a'; ch <= 'z'; ++ch) 
            printBits(ch, 24, 8); 
to print out the binary representation of numbers from 1 to 100, we can write: 
       for(int i=1; i<101; i++) 
          printBits(i, 24, 8); 
Behrouz Fallahi
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date