The Integer class contains the following static methods
to support unsigned operations and conversions:
int compareUnsigned(int x, int y)
int divideUnsigned(int dividend, int divisor)
int parseUnsignedInt(String s)
int parseUnsignedInt(String s, int radix)
int remainderUnsigned(int dividend, int divisor)
long toUnsignedLong(int x)
String toUnsignedString(int i)
String toUnsignedString(int i, int radix)
The following code shows the division operation on two int variables
as if their bits represent unsigned values:
public class Main {
public static void main(String[] args) {
// Two negative integer values
int x = -1;
int y = -2;//from ww w . jav a2 s . co m
// Performs signed division
System.out.println("Signed x = " + x);
System.out.println("Signed y = " + y);
System.out.println("Signed x/y = " + (x / y));
// Performs unsigned division by treating x and y holding unsigned values
long ux = Integer.toUnsignedLong(x);
long uy = Integer.toUnsignedLong(y);
int uQuotient = Integer.divideUnsigned(x, y);
System.out.println("Unsigned x = " + ux);
System.out.println("Unsigned y = " + uy);
System.out.println("Unsigned x/y = " + uQuotient);
}
}
运行结果如下: