}
public int byteArrayToInt(byte [] b) {
- int val;
- val = b[0] << 24 + ((b[1] & 0xFF) << 16) + ((b[2] & 0xFF) << 8) + (b[3] & 0xFF);
- return val;
+ int value = 0;
+ for (int i = 0; i < 4; i++) {
+ int shift = (4 - 1 - i) * 8;
+ value += (b[i] & 0x000000FF) << shift;
+ }
+ return value;
}
+ /*
+ public int byteArrayToInt(byte [] b) {
+ int val;
+ val = b[0] << 24 + ((b[1] & 0xFF) << 16) + ((b[2] & 0xFF) << 8) + (b[3] & 0xFF);
+ return val;
+ }
+ */
+
public static int parseInt(String str) {
return Integer.parseInt(str, 10);
}
byte b=chars[i];
int val;
if (b>='0'&&b<='9')
- val=b-'0';
+ val=b-'0';
else if (b>='a'&&b<='z')
- val=10+b-'a';
+ val=10+b-'a';
else if (b>='A'&&b<='Z')
- val=10+b-'A';
+ val=10+b-'A';
else {
- cont=false;
+ cont=false;
}
if (cont) {
- if (val>=radix)
- System.error();
- value=value*radix+val;
+ if (val>=radix)
+ System.error();
+ value=value*radix+val;
}
}
if (isNeg)
return false;
return true;
}
+
+ public int compareTo(Integer i) {
+ if (value == i.value)
+ return 0;
+ // Returns just -1 or 1 on inequality; doing math might overflow.
+ return value > i.value?1:-1;
+ }
}