Я написал интерпретатор, который требует от меня выполнить 32-разрядное деление целых чисел без знака. В Java я могу сделать это как:Java беззнаковое подразделение без кастинга в длину?
reg[a] = (int) ((reg[b] & 0xFFFFFFFFL)/(reg[c] & 0xFFFFFFFFL));
Но я хотел бы избежать преобразования в long и back to int. Java уже предоставляет беззнаковый оператор сдвига >>>
для этого особого случая, так что, возможно, есть умный способ сделать беззнаковое разделение таким же образом.
Обратите внимание, что добавление и умножение работают нормально, так как числа комплиментов двух просто работают.
Есть ли лучший способ в Java для этого?