Consulta esta página en la parte de FAQ. http://www.bcbdev.com/ Ahora puedes hacer esto:
char Letra = 'n';
int Numero = Letra;
Numero+=20;
Letra = Numero;
fíjate haber que sale...
Yo sé que existe un método para cambiar de decimal a hexadecimal pero no recuerdo...
Sino te toca hacerlo de la forma manual...
Generar la serie 1,2,4,8,16,32,64,128...
lo que es lo mismo 2 a la 0, 2 a la 1, 2 a la 2, 2 a la 3, 2 a la 4,2 a la 5...
Los colocas en forma inversa...
es decir:
....128,64,32,16,8,4,2,1
Buscar en la serie algún número máximo menor o igual a tu número...
Supongamos que tienes 40.. el número máximo menor o igual es 32.
40-32=8
Se lo restas y buscas el número máximo menor o igual al resultado.. en este caso 8.
8-8=0.. y asI sucesivamente hasta que llegues al cero.
Rellena con unos las posiciones de los nUmeros que tomaste de la serie, las demas con ceros.
TendrIas algo como esto:
...00101000
este es el 40 en binario....
Ahora como pasas de Binario a Hexadecimal
Tomas de a cuatro bits de derecha a izquierda y le asignas el valor correspondiente en hexadecimal.
EXPLICACION de Intercambio.
Supongamos que yo tengo el binario de cuatro bits:1010
El primero (que es 1) multiplicar por 8
El segundo (que es 0) multiplicar por 4
El tercero (que es 1) multiplicar por 2
El cuarto (que es 0) multiplicar por 1
Y sumas todo... esto produce un 10..
Intentando con otro número de cuatro bits: 1101
1*8
+
1*4
+
0*2
+
1*1
____
13
...
Imaginate que el sistema decimal va hasta 9...y el hexadecimal hasta 15...
Tabla de Equivalencia
Dec... Hexadecimal
0 0
1 1
2 2
........
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F
16 10
17 11
18 12
..... en fin
Retomando el número que tenía...
40(Decimal)= 00101000(Binario)
Partiendolo de a cuatro bits...
0010(Binario) = 2(Decimal) = 2(Hexadecimal)
1000(Binario) = 8(Decimal) = 8(Hexadecimal)
40(Decimal) = 28(Hexadecimal)
joseluisbz@bigfoot.com