【发布时间】:2020-03-12 02:00:38
【问题描述】:
我已经编写了一个将字节转换为 TwoCompliments 字符串的方法。但是当我运行代码时,它显示: 不兼容的类型:从 int 到 byte 的可能有损转换
String toTwoCompliments(int n) {
String binary = "";
if(n < 0) {
n = n * (-1) - 1;
while(n != 0) {
if(n % 2 == 0) {
binary = "1" + binary;
n /= 2;
} else {
binary = "0" + binary;
n /= 2;
}
}
while(binary.length() < 8) {
binary = "1" + binary;
}
return binary;
} else {
while(n != 0) {
binary = n % 2 + binary;
n /= 2;
}
while(binary.length() < 8) {
binary = "0" + binary;
}
return binary;
}
}
例如,如果我运行 toTwoCompliments(64) 它会返回错误。我的错误在哪里?感谢您的帮助。
【问题讨论】:
-
System.out.println(toTwoCompliments(64));在这里打印01000000;你试过干净的构建吗?另外,Integer.toBinaryString(int)有什么问题? -
Works fine for me。投票结束是一个不可重现的错误。