//*****************************************************************************
// Convert to binary 
// Print positive and negative values in binary                         
//*****************************************************************************
public class printBinary    
{
    public static void main(String[] args)
    {
        byte num;
        System.out.println("\t\t\t DECIMAL \t HEXADECIMAL \t  BINARY");

        num = 0;
        printBinary(num);

        num++;
        printBinary(num);

        num++;
        printBinary(num);

        num = 127;
        printBinary(num);

        num++;                                                              //adding 1 to 127
        printBinary(num);                                                   //becomes -128

        num++;                                                              //adding 1 to -128
        printBinary(num);                                                   //becomes -127

        num = -1;
        printBinary(num);
    }

    static void printBinary(byte num)                                    
    {
        String bin = convert2Binary(num);
        System.out.printf("byte:  %d \t %1$14d  \t\t %1$02x \t %8s \n", num, bin);       //print decimal, hex, binary
    }

    static String convert2Binary(byte num)                                  
    {
        String binary;
        binary = String.format("%8s", Integer.toBinaryString(num));         //convert to binary
        binary = binary.replace(" ","0");                                   //replace all leading spaces with 0
        binary = binary.substring(binary.length() -8);                      //take the rightmost 8 positions
        return(binary);
    }
}