Я использую технологию под названием DDS и в IDL она не поддерживает int
.Итак, я решил использовать short
.Мне не нужно так много битов.Тем не менее, когда я делаю это:
short bit = 0;
System.out.println(bit);
bit = bit | 0x00000001;
System.out.println(bit);
bit = bit & ~0x00000001;
bit = bit | 0x00000002;
System.out.println(bit);
Он говорит: «Несоответствие типов: невозможно преобразовать из int в short».Когда я изменяю short
на long
, он работает нормально.
Можно ли выполнять битовые операции, подобные этой, на short
в Java?