2017-03-24 6 views
0

言って、それを追加し、私はそれが62ビットだ64ビットとしてバイナリ文字列へのロングと8×8のアレイ

11110001000010100000011000000110000001100000010100001000111100 

などのバイナリ文字列を持っていると私は私ができることは64

0011110001000010100000011000000110000001100000010100001000111100 

になりたいですそれを64として印刷しますが、どのように保存して配列に追加できますか?

for(int i = 0; i < Long.numberOfLeadingZeros((long)num); i++) { 
      System.out.print('0'); 
     } 
     System.out.println(Long.toBinaryString((long)num)); 

はまた、私は、私はこれは私のコードは、配列に追加することです

00111100 
01000010 
10000001 
10000001 
10000001 
10000001 
01000010 
00111100 

8x8のようにそれを表示できるように

for(int i = 0; i < bin1.length(); i++){ 
      for(int j = 0; j < 8; j++){ 
       for(int z = 0; z < 8; z++){ 
        table[j][z] = bin1.charAt(i); 
       } 
      } 
     } 

しかしとき、2次元配列に追加します私はそれを印刷します、それはちょうど0を印刷します。

したい2D配列として保存するには、以下の使用
00000000 
00000000 
00000000 
00000000 
00000000 
00000000 
00000000 
00000000 
+0

あなたの最も外側のループの各反復を持つテーブル内のすべてのセルを埋めていますcharAt(i) – roby

答えて

4

あなたが行く:

long num = 4342175383962075708L; 
char[][] table = new char[8][8]; 
String bin1 = Long.toUnsignedString(num, 2); 

while(bin1.length()<64){ 
    bin1="0"+bin1; 
} 
//Store the bits in the array 
int i=0; 
for(int j = 0; j < 8; j++){ 
    for(int z = 0; z < 8; z++){ 
     table[j][z] = bin1.charAt(i++); 
    } 
} 
//Print the numbers 
for(char[] m : table){ 
    for(char n : m){ 
    System.out.print(n); 
    } 
    System.out.println() 
} 
+0

まず、何が間違っているのかを説明し、解決策を提示してください。これは他の人がよりよく理解するのに役立ちます。ありがとう! –

+0

で説明してください。 – rashedcs

0

ここ
int j=0,z =0; 
for(int i = 0; i < Long.numberOfLeadingZeros((long)num); i++) { 
     System.out.print('0'); 
     table[j][z++] = '0'; 
     if(z>7){ 
      j++; 
      z=0; 
     } 
} 

String a = Long.toBinaryString((long)num); 
for(int g = 0; g < a.length(); g++){ 
     table[j][z++] = a.charAt(g); 
     System.out.print(a.charAt(g)); 
     if(z>7){ 
      j++; 
      z=0; 
     } 
    } 
    System.out.print("\n"); 
    for(int k = 0; k < 8; k++){ 
     for(int s = 0; s < 8; s++){ 
      System.out.print(table[k][s]); 
     } 
     System.out.print("\n"); 
    } 
} 
関連する問題