I want to convert a string that consists of 8 binary numbers to a byte. I have tried this method:
byte b = Byte.parseByte(s, 2);
Which works fine if the string is "00000000", but doesn't work if it is "11111111".
I suspect is has something to do with the Radix but I can not figure it out.
Integer.parseInt with a radix of 2 like this Integer.parseInt("11111111", 2)byte simply cast the integer to a byte like this (byte) intValueSo the complete code is:
System.out.println((byte) Integer.parseInt("11111111", 2));
Output:
-1
NB: Why -1? because byte is a signed integer of 8 bits going from -128 to 127 so here instead of having 255 you get -1.