-128 as binary literal in Java -


based on fact byte type in java signed 8 bit two's complement integer, why doesn't second way of declaring byte work?

byte ok = -128; byte notok = 0b10000000; 

my understanding 1000000 should -128 java indicates notok variable above should int , not byte

0b10000000 int literal (= 0b00000000000000000000000010000000) equals +128. byte holds 8 bits , cannot represent +128. however, can achieve follows:

byte notok = (byte) 0b10000000; 

Comments