Matlab - Hexadecimal a decimal

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 53 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Hexadecimal a decimal

Publicado por Eduardo Abraham (1 intervención) el 01/06/2018 19:10:24
Tengo el siguiente codigo que es la conversion de hexadecimal a decimal, pero tengo problemas cuando ingreso dos numeros o letras difrentes no hace la conversion y solamente me hace la conversion cuando son numeros o letras iguales, que es lo que estoy haciendo mal.

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
38
39
40
41
42
43
44
45
46
47
48
49
50
clc
clear
 
n1=input('Ingrese el numero binario que desea convertir a decimal: ','s');
L=length(n1);
decimal=0;
 
for k1=1:1:L
 
if(n1=='0')
         v(1,k1)=0;
     elseif(n1=='1')
       v(1,k1)=1;
     elseif(n1=='2')
         v(1,k1)=2;
     elseif(n1=='3')
         v(1,k1)=3;
      elseif(n1=='4')
         v(1,k1)=4;
     elseif(n1=='5')
         v(1,k1)=5;
     elseif(n1=='6')
         v(1,k1)=6;
     elseif(n1=='7')
         v(1,k1)=7;
     elseif(n1=='8')
         v(1,k1)=8;
      elseif(n1=='9')
         v(1,k1)=9;
     elseif(n1=='a')
         v(1,k1)=10;
     elseif(n1=='b')
         v(1,k1)=11;
     elseif(n1=='c')
         v(1,k1)=12;
      elseif(n1=='d')
         v(1,k1)=13;
     elseif(n1=='e')
         v(1,k1)=14;
     elseif(n1=='f')
         v(1,k1)=15;
end
 
    L1=L-k1;
 
 decimal=decimal+(v(1,k1))*16^(L1);
 
 
end
fprintf('%d',decimal)
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