字符串到两个赞美(字节 n) -> 错误:不兼容的类型:从 int 到字节的可能有损转换



我已经编写了一个将字节转换为TwoCompatits字符串的方法。但当我运行代码时,它显示:不兼容类型:从int到字节的可能有损转换

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;
}
}

例如,如果我运行toTwoCompants(64(,它会返回一个错误。我的错误在哪里?谢谢你的帮助。

对不起,我的意思是用字节作为参数,所以正确的代码是

String toTwoCompliments(byte 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;
}
}

最新更新