如何在Java字符串中使用tilde~
我必须找到十进制数的两个补码。输入以字节为单位,结果应为字符串。我已经写了一个将十进制转换成二进制的程序,但我不知道如何将二进制字符串转换成1,即用1替换0,用0替换1 这是我到目前为止写的:如何在Java字符串中使用tilde~,java,arrays,math,Java,Arrays,Math,我必须找到十进制数的两个补码。输入以字节为单位,结果应为字符串。我已经写了一个将十进制转换成二进制的程序,但我不知道如何将二进制字符串转换成1,即用1替换0,用0替换1 这是我到目前为止写的: String toTwoComp(byte n) { String s = ""; byte num = n; String res = ""; while (n > -128 && n < 127) { s = (num % 2
String toTwoComp(byte n) {
String s = "";
byte num = n;
String res = "";
while (n > -128 && n < 127) {
s = (num % 2) + s;
num = (byte) (num / 2);
if (num == 0) {
break;
}
}
res = "00000000".substring(s.length()) + s;
return res;
}
String toTwoComp(字节n){
字符串s=“”;
字节数=n;
字符串res=“”;
而(n>-128&&n<127){
s=(数量%2)+s;
num=(字节)(num/2);
如果(num==0){
打破
}
}
res=“00000000”。子字符串(s.length())+s;
返回res;
}
任何字节或intx
的两个补码就是-x
。你试过这个吗
字符串b=totwoscop((字节)3);
系统输出打印ln(b);
静态字符串totwoscop(字节n){
int twoscop=-n;
返回整数.toBinaryString(twoscop&0xFF);
}
请注意,您可以这样做,只需使用自己的方法将其转换为二进制字符串。任意字节或int
x
的两个补码就是-x
。你试过这个吗
字符串b=totwoscop((字节)3);
系统输出打印ln(b);
静态字符串totwoscop(字节n){
int twoscop=-n;
返回整数.toBinaryString(twoscop&0xFF);
}
请注意,您可以这样做,只需使用自己的方法将其转换为二进制字符串。请参见
break;}代码>代码未正确缩进。请参阅break;}代码>代码未正确缩进。这是一个家庭作业,不幸的是我不允许使用“Integer.tobinarysting((&0xFF)+256).substring(1)”,然后使用您自己的方法将十进制转换为二进制字符串。你说这已经奏效了。我如何将二进制字符串转换为1的补码?这是一个家庭作业,不幸的是,我不允许使用“Integer.toBinaryString((&0xFF)+256).substring(1)”,然后使用你自己的方法将十进制转换为二进制字符串。你说这已经奏效了。我如何将二进制字符串转换为1的补码?