'daki Integer sınıfında toString yönteminde mod için negatif int'yi 1.7.0_09 java sürümünün kaynak kodunu okuduğumda neden Integer sınıfının toString yönteminin gerçekleştirildiğini mod hesaplamak için negatif int kullandığını buldum operasyon, bunun bir anlamı var mı? algoritmasına görejava src
public static String toString(int i, int radix) {
if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
radix = 10;
/* Use the faster version */
if (radix == 10) {
return toString(i);
}
char buf[] = new char[33];
boolean negative = (i < 0);
int charPos = 32;
if (!negative) {
i = -i; //***** change i to negative
}
while (i <= -radix) {
buf[charPos--] = digits[-(i % radix)]; //***** change back to positive after
//***** mod operation
i = i/radix;
}
buf[charPos] = digits[-i];
if (negative) {
buf[--charPos] = '-';
}
return new String(buf, charPos, (33 - charPos));
}
Çok fazla! Bence istediğim bu! – Judking