Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java字符串中使用tilde~_Java_Arrays_Math - Fatal编程技术网

如何在Java字符串中使用tilde~

如何在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

我必须找到十进制数的两个补码。输入以字节为单位,结果应为字符串。我已经写了一个将十进制转换成二进制的程序,但我不知道如何将二进制字符串转换成1,即用1替换0,用0替换1

这是我到目前为止写的:

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

任何字节或int
x
的两个补码就是
-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的补码?