再次做作业时间。 我必须创建一个程序来打印二进制数的1和2的补码。 到目前为止,2s恭维是否正确?我应该允许输入,然后在2之前计算1的赞美吗?
import java.util.Scanner;
public class BitWiseComplement {
public static void main (String [] args) {
String a = "1";
String b = "0";
Scanner reader = new Scanner(System.in);
String binary;
String binary2;
System.out.println("Please enter your binary number:");
binary = reader.nextLine();
binary2 = binary.replaceAll(a, b);
System.out.println(binary2);
}
}
答案 0 :(得分:0)
对于1的整数补码,您可以使用Integer类库方法toBinaryString()将整数转换为二进制,然后运行循环并将1转换为0,反之亦然。
void firstcomplement(int num)
{
String binary=Integer.tobinaryString(num);
String complement="";
for(int i=0; i<binary.length(); i++)
{
if(binary.charAt(i)=='0')
complement[i] += "1";
if(binary.charAt(i)=='1')
complement[i] += "0";
}
}
答案 1 :(得分:-1)
尝试:
String s3=String.format("%4s",
Integer.toBinaryString(i1))
.replace(' ', '0')
.replace('0' ,'a')
.replace('1' ,'0')
.replace('a' ,'1');
然后添加一个。