java编程,大家帮帮忙!

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:28:43
写一个类,包含把各种整型数据表示成二进制补码的字符串形式的方法。(要求使用方法重载)。在该类的main方法中,调用上述方法分别把byte,short,int,long型的10和-10表达成二进制补码。
提示
方法名统一用toBinary(),整数作参数
使用位操作判断某位是0还是1

public static String toBinaryString(int i) {
return toUnsignedString(i, 1);
}

private static String toUnsignedString(int i, int shift) {
char[] buf = new char[32];
int charPos = 32;
int radix = 1 << shift;
int mask = radix - 1;
do {
buf[--charPos] = digits[i & mask];
i >>>= shift;
} while (i != 0);

return new String(buf, charPos, (32 - charPos));
}