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

我已经编写了一种将字节转换为TwoCompliments字符串的方法。但是当我运行代码时,它显示: 不兼容的类型:可能会从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;
  }
}

例如,如果我运行 toTwoCompliments(64),它将返回错误。我的错误在哪里?感谢您的帮助。

hanyu294674597 回答:字符串toTwoCompliments(字节n)->错误:不兼容的类型:从int到字节的可能有损转换

对不起,我的意思是将 byte 作为参数,所以正确的代码是

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;
  }
}
本文链接:https://www.f2er.com/3092406.html

大家都在问