-1

再び宿題の時間。2 進数の 1 と 2 の補数を出力するプログラムを作成する必要があります。これまでのところ、2 秒の褒め言葉は正しいですか? 入力を許可してから、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);
        }
    }
4

2 に答える 2

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

 }
于 2015-10-09T20:32:49.530 に答える
-1

試す:

String s3=String.format("%4s", 
              Integer.toBinaryString(i1))
                     .replace(' ', '0')
                     .replace('0' ,'a')
                     .replace('1' ,'0')
                     .replace('a' ,'1');

そしてそれに1つ追加します。

于 2015-09-08T21:01:17.467 に答える