INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
PRIMEROS 32 NÚMEROS EN LOS SISTEMAS DECIMAL, HEXADECIMAL, OCTAL Y
BINARIO
1.
DECIMAL HEXADECIMAL OCTAL BINARIO
( BASE 10 ) ( BASE 16 ) ( BASE 8 ) ( BASE 2 utilizando 6 bits)
0 0 0 000000
1 1 1 000001
2 2 2 000010
3 3 3 000011
4 4 4 000100
5 5 5 000101
6 6 6 000110
7 7 7 000111
8 8 10 001000
9 9 11 001001
10 A 12 001010
11 B 13 001011
12 C 14 001100
13 D 15 001101
14 E 16 001110
15 F 17 001111
16 10 20 010000
17 11 21 010001
18 12 22 010010
19 13 23 010011
20 14 24 010100
21 15 25 010101
22 16 26 010110
23 17 27 010111
24 18 30 011000
25 19 31 011001
26 1A 32 011010
27 1B 33 011011
28 1C 34 011100
29 1D 35 011101
30 1E 36 011110
31 1F 37 011111
32 20 40 100000
Tabla R.1 Representación de números en distintos Sistemas Numéricos.
ING. GERMÁN LÓPEZ ANDRADE Pág. 1
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
TABLAS DE CONVERSIÓN
DE BINARIO A OCTAL DE BINARIO A HEXADECIMAL
BINARIO OCTAL BINARIO HEXADECIMAL
000 0 0000 0
001 1 0001 1
010 2 0010 2
011 3 0011 3
100 4 0100 4
101 5 0101 5
110 6 0110 6
111 7 0111 7
1000 8
1001 9
1010 A (10)
1011 B (11)
1100 C (12)
1101 D (13)
1110 E (14)
1111 F (15)
Tabla R.2 Tablas de conversión para Sistemas Numéricos múltiplos de 2.
ING. GERMÁN LÓPEZ ANDRADE Pág. 2
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
CONVERSIÓN ENTRE LOS DISTINTOS SISTEMAS NUMERICOS
CONVERSIÓN DEL SISTEMA DECIMAL A CUALQUIER BASE
DECIMAL BASE n
BASE 1O
La conversión de un número escrito en el sistema numérico decimal ( base 10 ) a cualquier sistema numérico
de base n, se puede realizar siguiendo el algoritmo que se enuncia a continuación:
Consideremos por ejemplo al número: 320.63
Donde: 320 es la parte entera
0.63 es la parte fraccionaria
ALGORITMO PARA LA PARTE ENTERA
1. Dividir al número entre la base del sistema al que se quiere convertir. (Por ejemplo para el sistema binario,
la base es 2 )
2. Si el cociente es igual con cero, ir al paso 5. En caso contrario ir al paso 3.
3. El residuo obtenido constituye un dígito del número en la base requerida.
4. Ir al paso 1.
5. El residuo de la última división constituye el dígito más representativo del número.
6.- fin.
ALGORITMO PARA LA PARTE FRACCIONARIA (Fracción de cómo máximo cinco dígitos)
1. Establecemos un contador de iteraciones y lo inicializamos a cero.
2. Multiplicar parte fraccionaria por la base.
3. Si la parte fraccionaria del producto obtenido es cero, ir al paso 8.
4. Contador = Contador + 1.
5. Si el contador = 5, ir al paso 8.
6. La parte entera del producto obtenido, constituye un dígito del número en la base requerida.
7. Ir al paso 2.
8. La parte entera del último producto realizado, constituye el dígito menos representativo del número.
ING. GERMÁN LÓPEZ ANDRADE Pág. 3
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
DESARROLLO DEL EJEMPLO:
( 320.63 )10 ( )2
La base a la que queremos convertir es “2”.
Para la parte entera :
160 80 40 20 10 5 2 1 0
2 320 2 160 2 80 2 40 2 20 2 10 2 5 2 2 2 1
0 0 0 0 0 0 1 0 1
msb lsb
La parte entera queda entonces : 101000000
Para la parte fraccionaria :
msb
0.63 2 = 1.26
0.26 2 = 0.52
0.52 2 = 1.04
0.04 2 = 0.08
0.08 2 = 0.16
lsb
La parte fraccionaria queda entonces : 10100
Por tanto el número 320.6310 = 101000000.101002
Realizar las siguientes conversiones :
1234.53110 ( )2
632.25510 ( )2
25610 ( )2
890.12510 ( )2
ING. GERMÁN LÓPEZ ANDRADE Pág. 4
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
Realizamos ahora la conversión del mismo número 320.63, pero ahora al sistema octal ó base 8.
La base a la que queremos convertir es “8”.
( 320.63 )10 ( )8
Para la parte entera :
40 5 0
8 320 8 40 8 5
0 0 5
Por tanto, la parte entera es : 500
Para la parte fraccionaria :
0.63 8 = 5.04
0.04 8 = 0.32
0.32 8 = 2.56
0.56 8 = 4.48
0.48 8 = 3.84
Por tanto la parte fraccionaria es : 50243
De este modo, concluimos que : 320.6310 = 500.502438
REALIZAR LAS SIGUIENTES CONVERSIONES
1234.53110 ( )8
632.25510 ( )8
25610 ( )8
890.12510 ( )8
Realizar la conversión al sistema hexadecimal del número 320.6310
ING. GERMÁN LÓPEZ ANDRADE Pág. 5
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
CONVERSIÓN DE CUALQUIER BASE AL SISTEMA DECIMAL
BASE n BASE 10
(DECIMAL)
CONSIDÉRESE LA TABLA MOSTRADA A CONTINUACIÓN:
Bn .... B7 B6 B5 B4 B3 B2 B1 BO . B-1 B-2 B-3 B-4 B-5 B-m
PUNTO DECIMAL
En la cual B representa a la base, en la que está escrito el numero a convertir.
Para convertir un número escrito en base n a base decimal, lo único que hay que hacer es la sumatoria de los
dígitos del número multiplicado por el valor de su posición dentro de la tabla.
EJEMPLO 1:
101011011.101012 ( )10 (LA BASE ES 2)
28 27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 2-5
1 0 1 0 1 1 0 1 1 . 1 0 1 0 1
256 128 64 32 16 8 4 2 1 0.5 0.25 0.125 0.0625 0.03125
Solamente se toman en cuenta las partes no sombreadas ya que en las columnas sombreadas el dígito
binario es cero y al multiplicarlo por la base elevada a la potencia que corresponda el resultado va a ser cero
(todo número multiplicado por cero da cero).
Procedemos entonces a realizar la sumatoria con los valores de las columnas no sombreadas :
256 + 64 + 16 + 8 + 2 + 1 + 0.5 + 0.125 + 0.03125 = 347.6562510
Por lo tanto : 101011011.101012 = 347.6562510
ING. GERMÁN LÓPEZ ANDRADE Pág. 6
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
EJEMPLO 2:
Convertir el siguiente número hexadecimal a decimal:
15B.AB16 ( )10
162 161 160 16-1 16-2
256 16 1 0.0625 0.00390625
1 5 B A B
1 256 = 256
5 16 = 80
11 1 = 11
10 0.0625 = 0.625
11 0.003906 = 0.042966
A continuación realizamos la sumatoria :
256 + 80 + 11 + 0.625 + 0.042966 = 347.65625
=347.6562510
Por lo tanto :
15B.A816 = 347.6562510
REALIZAR LAS SIGUIENTES CONVERSIONES
10011010010.1000012 ( )10
1001111000.01002 ( )10
1000000002 ( )10
1101111010.0012 ( )10
ING. GERMÁN LÓPEZ ANDRADE Pág. 7
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
CONVERSIÓN BASE 2 A BASE 8
BASE 2 ( )8
EJEMPLO:
101011011.101012
PARA LA PARTE ENTERA:
A partir del punto decimal, se agrupan en 3 bits, si es necesario agregue ceros a la izquierda.
PARA LA PARTE FRACCIONARIA:
A partir del punto decimal, se hacen agrupaciones de 3 bits, si es necesario, agregue ceros a la derecha.
Tomando como referencia a la tabla R.2, tenemos:
101 011 011 . 101 010
5 3 3 . 3 2 = (533.32)8
ING. GERMÁN LÓPEZ ANDRADE Pág. 8
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
CONVERSIÓN BASE 2 A BASE 16
BASE 2 ( )16
Se procede de manera similar a la conversión de base 2 a base 8, con la observación de que en este caso se
realizan agrupaciones de 4 bits.
0001 0101 1011 . 1010 1000
1 5 B . A 8 =(15B.A8)16
REALIZAR LAS SIGUIENTES CONVERSIONES
1. (156.89)10 ( )2 ( )16
2. (1024.0625)10 ( )2 ( )8
3. (1010111.00101)2 ( )16 ( )10
4. (1FC2.4A)16 ( )10 ( )2
5. (723.45)8 ( )16 ( )10
6. (831.12)8 ( )2 ( )10
7. ([Link])16 ( )10 ( )2
ING. GERMÁN LÓPEZ ANDRADE Pág. 9
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
OPERACIONES CON NÚMEROS BINARIOS
• SUMA:
La operación de suma con números binarios sigue las siguientes reglas:
0 0 1 1
+ + + +
0 1 0 1
0 1 1 1 0
ACARREO
EJEMPLO
Realizar la siguiente operación de suma con números binarios :
acarreos 111111
10110.11 COMPROBACIÓN 10110.11=22.75
+ 01111.01 01111.01=15.25
100110.00 38.00
EJERCICIOS:
Realizar las siguientes sumas binarias :
1. (101011.001) + (11000.110)
2. (101010.10) + (010101.01)
3. (111010111.111) + (10100111)
4. (1001.001) + (1010.01)
ING. GERMÁN LÓPEZ ANDRADE Pág. 10
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
• RESTA:
La resta o sustracción con números en sistema binario, se realiza haciendo uso de complemento a 2.
Analicemos como se realiza en el sistema decimal:
Realizar la siguiente sustracción : (50 − 60) = −10 ....(1)
Que se lee:
Al número cincuenta positivo, restarle el numero sesenta positivo.
Sin embargo, la operación se puede representar de la siguiente manera :
50 + (−60) = −10 ....(2)
Que se lee:
Al número cincuenta positivo, sumarle el número sesenta negativo.
Note que ambas operaciones proporcionan el mismo resultado, por tanto son equivalentes, además observe
que la segunda operación ya no es una resta sino una suma, con la excepción de que al sustraendo se le ha
cambiado el signo.
(minuendo - sustraendo) = Diferencia (minuendo) + ( - sustraendo) = Diferencia
De una forma similar a la que se acaba de analizar es como se realiza la sustracción en el Sistema Numérico
Binario: al sustraendo se le cambia el signo (se le saca complemento a dos) y se le suma al minuendo.
EL PROCEDIMIENTO EN SISTEMA BINARIO ES EL SIGUIENTE:
1. Se obtiene el complemento a dos al sustraendo (se le cambia el signo)
2. Al número obtenido en el paso 1 se le suma el minuendo.
3. En el resultado de la suma realizada en el paso dos se presentan dos casos:
• No hay acarreo, entonces el resultado de la operación es negativo. Si queremos comprobar el resultado,
obtenemos su complemento a dos y convertimos a decimal.
• Hay acarreo, entonces el resultado de la operación es positivo, para comprobarlo eliminamos el bit de
acarreo y convertimos a decimal.
4. Fin.
EJERCICIO:
ING. GERMÁN LÓPEZ ANDRADE Pág. 11
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
Realizar la siguiente sustracción :
(101011) − (110101)
Minuendo = 101011
Sustraendo = 110101
PRIMER PASO: Obtenemos complemento a dos del sustraendo.
110101
001010 Complemento a uno
+ 1 más uno
001011
SEGUNDO PASO: Al resultado obtenido le sumamos el minuendo
101011
001011
110110
TERCER PASO: No hubo acarreo por lo tanto el resultado es negativo
110110 RESULTADO
Si obtenemos el complemento a 2 al resultado, tenemos:
110110
001001 Complemento a uno
+ 1 más uno
001010 + 10
COMPROBANDO:
ING. GERMÁN LÓPEZ ANDRADE Pág. 12
INTRODUCCION A LA ROBOTICA CON ARDUINO
REPASO
SISTEMAS NUMERICOS Y CODIGOS
101011 43
- 110101 - 53
110110 - 10
REALIZAR LAS SIGUIENTES RESTAS BINARIAS (COMPRUEBE EL RESULTADO)
1. (101010.01) - (01111.01)
2. (101001.001) - (110010.010)
3. (1010101011.1110) - (1100101010)
4. (111100001) - (101010)
5. (1111) - (11111)
La multiplicación binaria se hace de manera idéntica a como la realizamos en el sistema decimal. Realice las
siguientes multiplicaciones en binario:
1. 189 x 321
2. 420 x 560
3. 100 x 230
4. 239 x 1064
5. 12 x 324
Trabajo de investigación
Investigar 5 códigos numéricos utilizados sistemas digitales
ING. GERMÁN LÓPEZ ANDRADE Pág. 13