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 >>= 1; } System.out.println(); } to print out the binary representation of characters from 'a' to 'z', we can write: for(char ch='a'; ch