2016-06-29 16 views
0

Java。私は負の形式で利用可能なバイナリ数の配列を作成したいが、元の正のバイナリ数もそこに残るようにしたいので、私のプログラムで正と負の両方の数値を使うことができるが、変換する方法を見つけることができない私は負の2進数に私の配列で持っているすべての2進数。配列番号を負の数値に変換します。

class Logicgates { 
    public static void main (String args[]) { 
     String binary[] = { 
"0000","0001","0010","0011","0100","0101","0110","0111","1000","1001","1010","1011","1100","1101","1110","1111" 
     }; 
     int a = 3; 
     int b = 5; 
     int c = a | b; // 0010|0100 = 0110 
     int d = a & b; // 0010&0100 = 0000 
     int ff= a^b; 
     int f = ~((~a&b)^(~b | a)); 
     int g = ~f | 0x0f; 
     System.out.println("a = " + binary[a]); 
     System.out.println("b = " + binary[b]); 
     System.out.println("c = " + binary[c]); 
     System.out.println("d = " + binary[d]); 
     System.out.println("ff = " + binary[ff]); 
     System.out.println("f = " + binary[f]); 
     System.out.println("g = " + binary[g]); 
    } 
} 

ここで、gの値は-1ですが、配列には正の数のみが含まれているため、印刷できません。

+0

だから、バイナリ[-1]がエラーではなく何かを返すようにしますか? – Hackerdarshi

+0

はい、バイナリの値-1を入力してください – qk2905

+0

そして、ここで何を返すべきですか? – Hackerdarshi

答えて

0

あなたはそれがあなたの割り当て/プロジェクト/学習経験の要件であることとして、私は完全に理解して、あなたの元の配列を使用したい場合。

もしそうでなければ、Javaは実際には10進数を2進数に変換するjava.langライブラリの組み込み関数を持っています。出力はあなたが探しているものと正確に異なる場合がありますので、いくつか変更する必要があります。このスニペットの出力は

Positive Number = 14 
Negative Number = -14 
Positive Binary is 1110 
Negative Binary is 11111111111111111111111111110010 

あなたが見ることができるように、負の数は全体の32ビット列を出力し、あなたがそれをトリミングするために十分に単純であるべきだろう

import java.lang.*; 
public static void main(String[] args) { 

    int positive = 14; 
    System.out.println("Positive Number = " + positive); 

    int negative = -14; 
    System.out.println("Negative Number = " + negative); 

    //to binary 
    System.out.println("Positive Binary is " + Integer.toBinaryString(positive)); 
    System.out.println("Negative Binary is " + Integer.toBinaryString(negative)); 
    } 

あなたが探しているサイズ(例えば、4ビットまたは5ビット)。

この方法では、バイナリ文字列の配列を持つ必要はありません。数字をtoBinaryString()関数に渡すだけで、それをあなたのために変換します。

その後、シミュレートしようとしているゲートのロジックを追加するだけで済みます。

これはあなたが正しい方向にあなたを指し示してくれることを願っています。がんばろう!

関連する問題