I have the following code:
    int i =128;
    byte b = (byte) i;
    System.out.println( Integer.toBinaryString(i)); //10000000
    System.out.println( Integer.toBinaryString(b)); //11111111111111111111111110000000
could someone explain why 1's were added to the left when casting from Integer to Byte and how could a byte carry more than 8 bits !?
 
    