Get a Hold of the Bits in Your Integers

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)                 System.out.print('0');             else                 System.out.print('1');             bitmask >>>= 1;         }         System.out.println();     } 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);       } 
See also  Essential Measures for Safeguarding Your Digital Data

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist