2016-11-19 6 views
1

Я попытался новообращенного от 10000101 до -123 по кодуКак преобразовать байт в двоичный файл в java?

byte sum = (byte) (Integer.valueOf(10000101, 2) & 0xffff) "; 

теперь я не знаю, как преобразовать обратно от -123 до 10000101.

Любые предложения об использовании Java API, чтобы сделать преобразование?

+0

Знаете ли вы о методе 'toBinaryString' класса Integer? –

+0

@community .. это не тот же вопрос .. OP здесь просит преобразовать байт в двоичную строку .. это совершенно другой вопрос ... – user6904265

ответ

1

Расширение немного Дэвид Уоллес комментарий, вы можете сделать это с помощью этого кода:

String fromByteToString = String.format("%8s", Integer.toBinaryString(sum & 0xFF)).replace(' ', '0'); 
    System.out.println(fromByteToString); 

с sum & 0xFF вы поразрядный операции:

-123 = 11111111111111111111111110000101 
0xFF = 00000000000000000000000011111111 
res. = 00000000000000000000000010000101 

Обратите внимание, что replace(' ', '0') не должен быть в этом случае, потому что начинается бинарная строка результата (10000101) с 1.

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