Ограничение двоичного выхода до 8 бит

Как я могу решить эту проблему в java?

int mask = ~0;

System.out.println(Integer.toBinaryString(mask));

Когда я набираю это, выход становится: 11111111111111111111111111111111 Однако я просто хочу получить 8 бит (11111111).

Другим примером является,

int left = mask << 7;

System.out.println(Integer.toBinaryString(left));

Вывод этих двух строк: 11111111111111111111111110000000 как я могу взять последний 8 бит? (10000000),

java,

0

Ответов: 1


0 принят

Тип int имеет 4 байта, каждый байт имеет 8 бит, поэтому, когда вы вызываете toBinaryString класса Integer, вы получаете 32-битную String.

Вы можете использовать код ниже для достижения своей цели.

int mask = ~0;
System.out.println(Integer.toBinaryString(mask & 0xFF));
int left = mask << 7;
System.out.println(Integer.toBinaryString(left & 0xFF));

Надеюсь, код поможет вам.

Ява,
Похожие вопросы