我已经编写了一个将字节转换为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;
}
}