2009-01-22 29 views

Répondre

4

Extraire 4 caractères à la fois et utiliser Integer.parseInt (chaîne, 2) devrait donner chaque chiffre. Combinez les chiffres comme bon vous semble.

1

Je pense que vous manquez tout le plaisir:

Voici une implémentation de base de ce que Pete Kirkham suggéré.

A pris environ 5 minutes.

import java.util.List; 
import java.util.ArrayList; 

public class Binary { 

     public static void main(String [] args) { 

      for (int i : Binary.fromString("0000000100100011010001010110011110001001")) { 
       System.out.print(i);  
      } 
      System.out.println(); 
     } 

     public static List<Integer> fromString(String binaryString) { 

      List<Integer> list = new ArrayList<Integer>(); 
      StringBuilder buffer = new StringBuilder(); 
      int count   = 0; 


      for (char c : binaryString.toCharArray()) { 
       buffer.append(c); 
       count++; 

       if (count >= 4) { 
        list.add(Integer.parseInt(buffer.toString(), 2)); 
        count = 0; 
        buffer.delete(0 , 4); 
       } 
      } 

      return list; 
     } 
}