老大爷

老大爷

no can, but will

标签: jdk源码 (3)

jdk源码:Integer.getChars(int i, int index, char[] buf)

应用:将整形数字转换成对应的十进制字符串

public static String toString(int i) {
    if (i == Integer.MIN_VALUE)
        return "-2147483648";
    int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
    char[] buf = new char[size];
    getChars(i, size, buf);
    return new String(buf, true);
}

jdk源码:Integer.toUnsignedString0

应用:转换成对应进制的字符串
// 转换成二进制字符串
public static String toBinaryString(int i) {
return toUnsignedString0(i, 1);
}

jdk源码:Integer.numberOfLeadingZeros

public static int numberOfLeadingZeros(int i)
返回int类型32位补码值最左边出现的1之前的0的个数,如果是0因为没有1,就返回32
举个栗子: 10的补码为 0000 0000 0000 0000 0000 0000 0000 1010,则最左边1之前有28个0,所以此方法返回28.