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


0