2013-04-05 6 views
4

Я знаю, что преобразование десятичного числа в двоичное с Integer.toBinaryString(355) = 0000000101100011 и Integer.toBinaryString(-355) = 1111111010011101 (где я беру младшие 16 бит 32-битного результата).Бинарный код двоичного кода двоичного кода Java

То, что я хотел бы сделать, это другой способ и взять двоичную строку дополнения до 16 бит и преобразовать в десятичную.

т.е.

0000000000110010 = 50 
1111111111001110 = -50 

Вместо 1111111111001110 = 65486

Как мне это сделать?

ответ

4

Вы должны прочитать результат в short.

short res = (short)Integer.parseInt("1111111111001110", 2); 
System.out.println(res); 

prints -50.

+0

Спасибо, что сделал трюк! – omegaFlame

Смежные вопросы