gray - Código de Java o lib para decodificar un decimal codificado en binario(BCD) de una cadena
codigos bcd pesados (2)
Tengo una cadena que consta de 1 (''/ u0031'') y 0 (''/ u0030'') que representa un valor BCD.
Específicamente, la cadena tiene 112 caracteres por valor de 1 y 0 y necesito extraer 8 o 16 de estos a la vez y decodificarlos de BCD a decimal.
Ideas? Paquetes? Libs? ¿Código? Todo es bienvenido
Creo que te estás perdiendo toda la diversión:
Aquí hay una implementación básica de lo que sugirió Pete Kirkham.
Tomó aproximadamente 5 minutos.
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;
}
}
Extraer 4 caracteres a la vez y usar Integer.parseInt (string, 2) debería dar cada dígito. Combina los dígitos como mejor te parezca.