Как преобразовать отрицательное целое число в двоичную форму дополнения до двух?(Джава) - PullRequest
6 голосов
/ 23 апреля 2011

Мне нужно преобразовать числа, положительные и отрицательные, в двоичный формат - например, 2 в «00000010» и -2 в «11111110», например. Мне не нужно больше 12 бит или около того, поэтому, если строка длиннее, я могу просто обрезать начальные биты знака. Кажется, что Integer.toBinaryString() будет делать положительные числа, но есть ли один, который может делать отрицательные числа?

1 Ответ

12 голосов
/ 23 апреля 2011

Integer.toBinaryString работает и для негативов.:-) Например, Integer.toBinaryString(-2) возвращает 11111111111111111111111111111110.

Если вы выберете самые правые 12 символов, у вас будут 12 младших разрядов, как требуется.

...