public static int[] obtenerMarcas(int value){
  String binary=Integer.toBinaryString(value);
  binary=StringUtils.reverse(binary);
  List listaBitsActivos=new ArrayList();
  for (int i=0; i < binary.length(); i++) {
    if (binary.charAt(i) == BIT_ACTIVADO)     listaBitsActivos.add(new Integer(i));
  }
  return ArrayUtils.IntegerToInt(listaBitsActivos.toArray());
}

public static int [ ] obtenerMarcas ( int value ) { String binary = Integer . toBinaryString ( value ) ; binary = StringUtils . reverse ( binary ) ; List listaBitsActivos = new ArrayList ( ) ; for ( int i = 0 ; i < binary . length ( ) ; i ++ ) { if ( binary . charAt ( i ) == BIT_ACTIVADO ) listaBitsActivos . add ( new Integer ( i ) ) ; } return ArrayUtils . IntegerToInt ( listaBitsActivos . toArray ( ) ) ; }
retorna un array con las posiciones ( empezando a contar desde 0 ) activas en el binario generado a partir el numero en base decimal que recibe como parametro ej . obtenermarcasbis ( 8 ) { 3 } obtenermarcasbis ( 9 ) { 0 , 3 }
