Java - nesecito un programa que convierta los numeros de binario a decimal aplicando recursividad sinciclo

   
Vista:

nesecito un programa que convierta los numeros de binario a decimal aplicando recursividad sinciclo

Publicado por MRX (16 intervenciones) el 31/03/2018 03:53:34
nesecito ayudaa un programa que convierta los numeros de binario a decimal sin ciclos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

nesecito un programa que convierta los numeros de binario a decimal aplicando recursividad sinciclo

Publicado por ctmy (46 intervenciones) el 02/04/2018 03:10:24
Antes de preguntar, muestren un poco de trabajo la siguiente vez.

Delen una prueba a esto a ver si funciona:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class BinarioDecimal{
 
     public static void main(String []args){
 
       int[] binaryNumbers  = {1,1,1,0};
       String binary = "1110";
       int result = 0;
 
       /* recursivo*/
       for(int i = binaryNumbers.length-1, j = 0; i >= 0; --i, ++j){
           /* Calcular solo si es 1*/
           if(binaryNumbers[i] == 1){
               result += Math.pow(2, j);
           }
       }
 
       System.out.println(result);
       System.out.println("Recursivo " + binaryRecursive(binary));
     }
 
      public static int binaryRecursive(String arr){
          if(arr.isEmpty())
            return 0;
          /* La base para salir de la recursion*/
          /* Si solo tenemos un solo numero binario y es uno, devolvemos uno
           * de lo contrario devolvemos 0      */
          if(arr.length() == 1){
            if(arr.charAt(0) == '1')
              return 1;
            else
              return 0;
          }
          /* Si la cadena binaria es mayor a 1, lo reducimos 
           * y calculamos el valor decimal en ese momento */
          return binaryRecursive(arr.substring(1)) + (int)Math.pow(2 * Character.getNumericValue(arr.charAt(0)), arr.length()-1);
      }
}

http://www.ctmy-dev.appspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar