-4

そこで8ビットのバイナリ計算機を作ったのですが、以下の方法でちょっとごまかしました。

  public static int[] convertToBinary(int b){
    String toStr = Integer.toBinaryString(b);
    String fStr = ("00000000"+toStr).substring(toStr.length());
    String[] array = fStr.split("");
    int[] finalArray = new int[array.length-1]; 
    for(int i = 0; i < finalArray.length; i++){
      finalArray[i] = Integer.parseInt(array[i+1]);
    }

    return finalArray;
  }


  public static int[] addBin(int a[], int b[]){
    int[] added = new int[a.length];
    for(int i = added.length - 1; i >= 0; i--){
      if((a[i]+b[i] > 1)){
        System.out.println("Error: overflow");
        break;
      }else{
        added[i] = (a[i]+b[i]);
      }
    }
    return added;
  }

私の質問は、int を 2 進数に変換する方法と、2 つの 2 進数を加算する方法です。

4

1 に答える 1