java - String toTwoCompliments(byte n) -> 错误:不兼容的类型:从 int 到 byte 的可能有损转换
问题描述
我编写了一个将字节转换为 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)它会返回一个错误。我的错误在哪里?谢谢你的帮助。
解决方案
对不起,我的意思是有字节作为参数,所以正确的代码是
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;
}
}
推荐阅读
- mongodb - 将新事件保存到数据库
- spring - 在 spring PropertyPlaceHolderConfigurer 中无法加载属性错误
- javascript - 访问数组中的 JavaScript 对象
- python - 用于数据增强的灰度图像阵列旋转
- python - Python类声明“位置参数”错误
- xml - Googlescript 解析 XML 时出现问题
- text - Flutter 中的渐变文本
- c++ - HFSM StateForge - 高 cpu iowait 和异步处理
- c# - WPF App MediaElement 不会播放声音
- jasper-reports - IReport - 使细节带分开打印