나는 부호없는 정수의 32 비트 나눗셈을 수행 할 것을 요구하는 인터프리터를 작성했다. Java에서이 작업을 수행 할 수 있습니다.캐스팅하지 않고 Java 서명되지 않은 부분?
reg[a] = (int) ((reg[b] & 0xFFFFFFFFL)/(reg[c] & 0xFFFFFFFFL));
그러나 int로 변환하는 것을 피하고 싶습니다. Java는 이미 부호없는 오른쪽 시프트 연산자 >>>
을 해당 특수한 경우에 제공하므로 같은 방법으로 부호없는 나누기를 수행하는 영리한 방법이있을 수 있습니다.
2 개의 칭찬 번호가 작동하기 때문에 추가 및 곱하기가 잘 작동합니다.
Java에서 더 좋은 방법이 있나요?