Está en la página 1de 58

Sistemas numéricos

Prof. Mario Medina C.


Prof. Jorge Salgado S.
jorgesalgado@udec.cl
Números en base 10

 Es la Base usada diariamente y en forma natural


en el mundo occidental
 10 dígitos (símbolos) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
 Es una notación posicional
 Valor del dígito dado por la posición
 1234 = 1000 + 200 + 30 + 4
 1234 = 1 • 103 + 2 • 102 + 3 • 101 + 4 • 100
 12,34 = 1 • 101 + 2 • 100 + 3 • 10-1 + 4 • 10-2
Sistemas ponderados (posicional)
 Es aquel en que el peso de cada dígito o
símbolo está asociado a su posición.
 Sistemas ponderados regulares:
 La ponderación está dada por potencias sucesivas
en cierta base b.
 Sistemas ponderados no regulares:
 No existe una suma sucesiva.
 Ejemplo: notación horaria H1H0 : M1M0 : S1S0
Sistemas no ponderados:
 Ejemplo: los números romanos (I, V, X, L, C, M)
Notación posicional regular

 Un número N fraccionario en base b se escribe


Nb = an-1an-2. . . a1a0, a-1a-2. . .a-m+1a-m

 La coma separa la parte entera de la parte fracc.


 En algunos países se utiliza el punto
 Tiene n dígitos en su parte entera
 Tiene m dígitos en su parte fraccionaria
 Ejemplo: 34,342
Notación posicional regular…
 El valor de un número N en la base b se evalúa
según la fórmula:
Nb = an-1bn-1 + an-2bn-2 + . . . + a1b1 + a0b0 +
a-1b-1 + a-2b-2 + . . . + a-m+1b-m+1 + a-mb-m
 donde:
 b≥2: base del sistema numérico
 ai : dígito entre 0 y (b-1)
 n-1 : máximo exponente en la parte entera
 -m : mínimo exponente en la parte fraccionaria
 an-1 : Most Significant Digit (MSD)
 a-m : Least Significant Digit (LSD)
Sistemas de Bases más comunes
Decimal Binario Ternario Octal Hexa
0 0 0 0 0
1 1 1 1 1
2 10 2 2 2
3 11 10 3 3
4 11 4 4
5 12 5 5
6 20 6 6
7 21 7 7
8 22 10 8
9 100 11 9
10 101 12 A
11 102 13 B
12 110 14 C
13 111 15 D
14 112 16 E
15 120 17 F
¿Porqué usar base 2?
 Los computadores digitales usan la base 2
 Toda la información se traduce a código binario
 Fácil detección de estados binarios
 Es fácil de realizar (implementar)
 Sólo se requieren 2 dígitos: 0 y 1
 Los estados binarios pueden ser representados por:
 Una compuerta que está cerrada/abierta
 Una corriente que circula /no circula
 Un transistor que conduce /no conduce
 Un interruptor cerrado/abierto
Números en base 2

 Sólo 2 dígitos: 0 y 1
 Variable binaria es un Bit ( Binary Digit )
 Nombre dado por John Tukey
 Valor del dígito dado por la posición
 110012 = 100002 + 10002 + 12
 110012 = 1  24 + 1  23 + 1  20
 110012 = 1(16) + 1(8) + 1(1) = 2510
 Operaciones aritméticas: (+), (-) , (*)
 Operaciones lógicas: AND, OR, XOR, NOT
Números en base 8
 Es equivalente a la base 2
 Es una representación más compacta
 Utiliza los dígitos 0 al 7
36708 = 30008 + 6008 + 708
36708 = 3  83 + 6  82 + 7  81 = 1.97610
 Fácil conversión entre la base 2 y base 8
 Ya que 8 = 23
 Agrupar bits de derecha a izquierda en trios
 001 101 010 1102 = 15268 = XXX10
Tarea
Números en base 16 10/58

 Es equivalente a la base 2
 Representación más fácil y más compacta aún
 Usa 16 dígitos: 0 al 9 y A a F
36F016 = 300016 + 60016 + F016
36F016 = 3  163 + 6  162 + 15  161 = 14.06410

 Fácil conversión entre la base 2 y la base 16


Porque 16 = 24
 Agrupar bits de derecha a izquierda de 4 en 4
0011 1101 1010 01102 = 3DA616 = XXXXX10
Tarea
Potencias de 2 (algunas)

 20 = 1  29 = 512
 21 = 2  210 = 1.024 (1 Kilo)
 22 = 4  220 = 1.024K (1 Mega)
 23 = 8  230 = 1.024M (1 Giga)
 24 = 16  240 = 1.024G (1 Tera)
 25 = 32  250 = 1.024T (1 Peta)
 26 = 64  260 = 1.024P (1 Eta)
 27 = 128  270 = 1.024E (1 Zetta)
 28 = 256  280 = 1.024Z (1 Yotta)
Prefijos estándar
 No confundir 1 Kilo decimal (1000) con
1 Kilo binario (1024)
 1 Kilo de papas = 1.000 gramos = 103 gramos
 1 Kilo de bytes = 1.024 bytes = 210 bytes
 En computación, Kilo equivale a 1024

 Prefijos estándares
 210: Kibi (Ki)
 220: Mebi (Mi)
 230: Gibi (Gi)
 240: Tebi (Ti)
Convertir de base 10 a base 2
 Divisiones sucesivas: Convertir 28910 a base 2
 El proceso termina  289:2 = 144 + 1/2
cuando el cuociente  144:2 = 72 + 0/2
es 0  72:2 = 36 + 0/2
 Retener los restos de  36:2 = 18 + 0/2
las divisiones  18:2 = 9 + 0/2
 El primer resto es el bit  9:2 = 4 + 1/2
menos significativo bo  4:2 = 2 + 0/2
 El último resto es el bit  2:2 = 1 + 0/2
más significativo  1:2 = 0 + 1/2 Fin…
Resultado: 1001000012
Conversión de enteros
¿Cómo convertir de base 10 a otras bases?
 Convertir un entero M10 a base d :
 Dividir M10 por la nueva base d usando la aritmética
de la base original (10).
 Se obtiene un cuociente Q y un resto R
 El resto de la división es el coeficiente c0
 Repetir la división del cuociente Q por la base
 Cada nuevo resto corresponde a un nuevo ci
 Terminar cuando el cuociente de la división es 0
Conversión de enteros…
 1. Conversion de base b a la base 10
 Evaluar las potencias y la sumatoria resultante ó
 Usar el método de los productos sucesivos

 2. Conversión de base b a base d


 Es un proceso más complejo
 Las operaciones aritméticas son en base original b
 Recomendación:
 Convertir el número original de base b a base 10
 Convertir el resultado anterior (en base 10) a base d
 Considerar la escritura formal de un número en base d
Método de los productos sucesivos

 Pasos a seguir
 Multiplicar el dígito más significativo por la base b
 Sumarle el dígito siguiente
 Multiplicar el resultado por la base b
 Repetir hasta que se haya sumado el último dígito
Ejemplo: 74218 a base 10
 Evaluar (((7*8) + 4)*8 + 2)*8 + 1
 Evaluar ((56+ 4)*8 + 2)*8 + 1
 Evaluar (60*8 + 2)*8 + 1
 Evaluar (480 + 2)*8 + 1
 Evaluar 482*8 + 1 = 385710
Conversión de enteros…
 Ejemplos:
 Convertir 79310 a base 8
 Convertir 1210 a base 2
 Convertir 538 a base 5

793 1 99 3 12 4 1 1
 99    12   1   0  14318
8 8 10 8 10 8 10 8 10 8 10 8 10 8 10

12 0 6 0 3 1 1 1
 6   3   1   0  1100 2
2 2 10 2 10 2 10 2 10 2 10 2 10 2 10

Ejercicio en clases: Convertir 53(8) a la base 5. Sol: 1335


Conversión de fracciones
1. Proceso de multiplicaciones sucesivas
(Primer método)
 El proceso termina cuando la precisión del
resultado es equivalente a la del número dado.
Ejemplo: convertir 0.78810 a base 2
Solución:
 Precisión original: 10-3
 Precisión deseada: 2-x x3
log10
 9.97
log2

 Se elige el entero superior: x = 10


Conversión de fracciones…
Procedimiento:
 Convertir el número Nb  a1b1    ambm a base d
 Multiplicar Nb por la nueva base d usando la
aritmética de la base original.
 Se obtiene una parte entera E y una fracción f
 La parte entera es el coeficiente c-1
 Multiplicar nuevamente la fracción f por la base d.
 Cada nueva parte entera es un nuevo ci
 Terminar cuando las precisiones de Nb y Nd sean
equivalentes.
Conversión de fracciones 20/58

1. Multiplicaciones  Convertir 0.78810 a base 2


sucesivas por la base2  0.788*2 = 1.576 = 1 + 0.576
 Proceso termina  0.576*2 = 1.152 = 1 + 0.152
cuando se alcanza la  0.152*2 = 0.304 = 0 + 0.304
precisión buscada  0.304*2 = 0.608 = 0 + 0.608
 El primer rebalse  0.608*2 = 1.216 = 1 + 0.216
calculado es el bit más  0.216*2 = 0.432 = 0 + 0.432
significativo b-1  0.432*2 = 0.864 = 0 + 0.864
El resultado es:  0.864*2 = 1.728 = 1 + 0.728
0.11001001102 Ok  0.728*2 = 1.456 = 1 + 0.456
 0.456*2 = 0.912 = 0 + 0.912
Conversión de fracciones…
2. Mediante restas sucesivas de potencias
decrecientes de 2 (2° método)
 Si la resta arroja resultado positivo, se genera
un dígito binario 1
 Si la resta da resultado negativo, ésta no se
realiza y se genera un dígito binario 0
 Ejemplo: convertir 0.742110 a base 2
 0.7421 – 2-1 = 0.7421 – 0.5 = 0.2421  a-1 = 1
 0.2421 – 2-2 = 0.2421 – 0.25 = =- 0.0079  a-2 = 0
 0.2421 – 2-3 = 0.2421 – 0.125 = 0.1171  a-3 = 1
 0.1171 – 2-4 = 0.1171 – 0.0625 = 0.0546  a-4 = 1
Resp: 0.742110 =0.1011 … 2 Tarea: Convertir 0,125(10) a base 2
Aritmética en base 2
 Suma binaria
+ 0 1
0 0 1
1 1 10

 La suma binaria puede generar un rebalse


(acarreo, carry)
 Carry in: proviene del dígito de menor ponderación
(i-1)
 Carry out: generado hacia el dígito de mayor
ponderación (i+1)
Aritmética en base 2…
Tabla de suma en base 2

x y cin cout x+y


0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Ok
Aritmética en base 2…
 Resta binaria (X –Y)
- y=0 y=1
x=0 0 1*
x=1 1 0

 En la resta binaria puede aparecer un


préstamo (borrow)
 Borrow in: préstamo que proviene del dígito de
menor ponderación (i-1)
 Borrow out: préstamo tomado desde el dígito
de mayor ponderación (i+1)
Tabla de resta en base 2

x y bin bout (x–y)


0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Tarea: Entenderla y comprenderla


Ejemplo-1 de resta binaria
1 0 1 0 0 0 Minuendo
- 0 1 1 0 0 1 Sustraendo
0 0 1 1 1 1 Diferencia

 La resta binaria es un cálculo propenso a errores


 En la práctica no se utiliza.
 Se prefiere realizar una suma con el sustraendo
complementado a 2 ( C’2).
 C´2 es un número negativo).
Ejercicios: resta binaria

1 11 1 0 1 0 0 1110110
- 10 0 0 1 1 1 - 111101
1 01 0 1 1 0 1 0111001

Tarea: Realizar la resta:


10110 010 84(16)-7F(16) en la base 16
- 111 101 y en la base 2.

01110 101
Desplazamiento de bits
 Desplazamiento a la izquierda
 Equivalente a multiplicar por 2
 01102  11002 (610  1210)
 01012  10102 (510  1010)

 Desplazamiento a la derecha
 Equivalente a dividir por 2
 01102  00112 (610  310)
 01012  00102 (510  210)

 Atención: La división aproxima resultados al entero inferior.


Multiplicación y división por la base 2
 Multiplicar Nb por la base 2 es equivalente a
desplazar los coeficientes una posición a la izq.
con lsd = 0. El numero se ha multiplicado por 2.
Sea el entero Nb  an1bn1  an2bn2    a0b0
Entonces,
Nb  b  an1bn  an2bn1    a0b1  ob0

 Dividir Nb por la base 2 equivale a desplazar


los coeficientes a la derecha. Se ha dividido por 2.
Es una generalización de lo que ocurre en base 10.
Multiplicación en base 2 30/58

 Equivalente a realizar desplazamientos y sumas


10112 x 11012
1011
0000 ·
1011 · ·
1011 · · ·
100011112

Tarea: Realizar las divisiones:


1111/011 1010/010 11001/ 101
Aritmética en otras bases
 Suma octal
+ 0 1 2 3 4 5 6 7
0 0 1 2 3 4 5 6 7
1 1 2 3 4 5 6 7 10
2 2 3 4 5 6 7 10 11
3 3 4 5 6 7 10 11 12
4 4 5 6 7 10 11 12 13
5 5 6 7 10 11 12 13 14
6 6 7 10 11 12 13 14 15
7 7 10 11 12 13 14 15 16

 Ejercicio: sumar los octales 626 y 533


Aritmética en otras bases…
6268
+ 5338
13618 1 1 Préstamo

6 2 6
5 3 3
(11) (6) (9) Suma decimal parcial

-(8) -(8) Base


Suma octal
1 3 6 18
Sistemas complementarios
 Restar A − B equivale a sumar A + (−B)
 ¿ Qué valor adopta (−B) en el sistema binario?
 Sea Nb un número en base b
n 1
Nb   akb k

k0

 Se define el complemento de N a la base b como:


N b  bn  N b N entero. El ( ) no es necesario

N f b  b 0
 N f b N fraccionario. ( ) si se justifica
Complemento a 2
Notación: [N]2

“Es la codificación usada para representar


números negativos en base 2”
 Para números enteros en base 2 se tiene:

N2  2  N2
n

 Para números fraccionarios:


Nf 2  1 Nf 2
Ejemplo:
[0,1011]2 = 1- 0,10112 = 0,01012
Sistemas complementarios…
Ejemplo de C’2 de un número entero:

 Complemento a 2 de 1001010010
1 0 0 0 0 0 0 0 0 0 0 2n
- 1 0 0 1 0 1 0 0 1 0 N 2
0 1 1 0 1 0 1 1 1 0 210  N2
Sistemas complementarios…

 Ejercicios:
 Complemento a 10 del decimal 1279
1 0 0 0 0
- 1 2 7 9
8 7 2 1 104  N10

 Complemento a 8 del octal 342


1 0 0 0
- 3 4 2
4 3 68 83  N8 Ok…
Métodos de cálculo del
complemento a 2
Existen dos métodos:
1. Invertir cada bit del número original y sumar 1
al resultado.
Ejemplo 1:
[1101001]2 = 00101102 + 12 = 00101112

2. A partir del bit menos significativo, copiar los


bits hasta encontrar el primer 1, luego,
complementar el resto de los bits.
Ejemplo 2:
[110100100]2 = 0010111002
¿Porqué usar el complemento a 2?

 El complemento a 2 simplifica la resta de


los números binarios.

 Convierte la resta de dos números en una suma


X2 – Y2 = X2 + [Y]2

 Pero hay casos de cuidado, que dependen


de la presencia de rebalses.
Restas usando el complemento a 2
 Ejemplo1: Efectuar la resta 1110112 – 1001102

Solución:
Es equivalente a sumar:
1110112 + [100110]2 = 1110112 + 0110102 = 10101012
1110112
+ 0110102
1 0101012

 Hubo un rebalse, el que se ignora, por lo que 0101012


es el resultado correcto.
 Comprobación: 1110112 – 1001102 , lo que es igual a:
5910 – 3810 = + 2110 = 0 101012
Ejemplo 2: 1001102 - 1110112 40/58

 1001102 – 1110112 es equivalente a sumar:


1001102 + [111011]2
 Esto es, 1001102 + 0001012 = 1010112
 Resultado correcto, pero es negativo.

¿Pero cuál es valor binario o decimal negativo?


El resultado se puede expresar como un número
binario con signo negativo; es decir:
[101011]2 = - 0101012 = - 2110
Comprobación: 1001102 – 1110112 ó :
3810 – 5910 = -2110 = - 0101012
Resta binaria complementaria

(A)2 - (B)2 = (A)2 + [B]2 = (A)2 + [B]2 = (A)2 + (2n − (B)2)

Con [B]2 = 2n − (B)2

 Si (A)2 > (B)2, resultado es positivo


 Si (A)2 < (B)2, resultado es negativo.
 Resultado es igual a − ((B)2−(A)2), valor que puede
conocerse complementando el resultado.
Signo de un número binario
 Se representa el signo de un número con un
bit adicional a la izquierda del número (msb).
 Si el msb de un numero es 0, el numero es positivo
 Si el msb de un numero es 1, el numero es negativo
 Un número binario negativo de n bits en notación con
signo tiene la estructura:
Signo Magnitud en complemento a 2

1 bit n-1 bits

 La Magnitud se almacena en complemento a 2.


Definición de rebalses
 Rebalse aritmético: generado al pasar un rebalse
desde el msb del número al bit de signo.

 Rebalse lógico: rebalse desde el bit de signo al


exterior.

En una operación de suma pueden darse 4


casos, o resultados, dependiendo de la existencia
o ausencia de dichos rebalses.
Rebalses en sumas de números con signo

 Si existen ambos rebalses: No hay error


 Si no existe ninguno de ellos: No hay error
 Si la suma de dos números del
mismo signo tiene el signo opuesto : Hay error (1)
 Si la suma de dos números excede
la capacidad de representación: Hay error (2)
A. Rebalse aritmético (en sumas)

 Rebalse aritmético. Ejemplo1: sumar (4 + 4)


0 1002
0 1002
1 0002 Error (1) : El resultado es negativo.
El resultado correcto es :
+810 = 0 10002
El resultado excede la representaciónde 3 bits
Solución: ampliar la representación de los números
agregando otro bit al módulo.
B. Rebalse lógico en suma de
números negativos
 Rebalse lógico. Ejemplo2: sumar (-5-7)
1 0112
1 0012
0 1002 Error (1) : 0 100 = + 4 considerando 4 bits
El resultado correcto es:
1 01002 = - 011002 = -1210

¡¡ La operación excede representación de 3 bits de datos !!

Solución: ampliar la representación de los números dados


agregando otro bit a cada módulo. Ok…
C. Rebalse aritmético+rebalse lógico

 Existe rebalse lógico y rebalse aritmético.


Ejemplo3: sumar (-3-2)
1 1012
1 1102
1 1 0112 Resultado Correcto

 Se ignora el rebalse lógico


 El resultado correcto es 1 0112 = -510 = - 01012
 El rebalse aritmético es el nuevo bit de signo.
D. Operación de suma sin rebalse

 No hay rebalse.
Ejemplo4: sumar (3+2)
0 0112
0 0102
0 1012

Resultado correcto es 0 1012 = 510


Representación de números
con módulo y signo (OJO)

Decimal Binario Decimal Binario


-8 1000 0 0000
-7 1001 1 0001
-6 1010 2 0010
-5 1011 3 0011
-4 1100 4 0100
-3 1101 5 0101
-2 1110 6 0110
-1 1111 7 0111
4 bits pueden representar 16 valores distintos
Complemento a la base disminuida

 Sea el número entero 50/58

n1 n2
Nb  an1b  an2b    a0b0

 Se define el complemento a la base disminuída


como:
Nb1  b
n
 1 Nb  Nb  1
Si la base es 2, su complemento dismuído es el
complemento a 1 (C´1). O sea, C’1 = C’2 - 1
Complemento a 1

En el sistema binario, el complemento a 1 de un


número (complemento a 2 del número, menos 1)
se obtiene complementando cada bit, es decir,
intercambiando 1s y 0s.

Ejemplo: Complemento a 1 de 1101011012


1 1 0 1 0 1 1 0 1 N2
0 0 1 0 1 0 0 1 0 N1
Complemento a 1….
 Se insiste que en el sistema binario, el [N]1
de un número N se obtiene complementando
cada bit; es decir, intercambiando 1s y 0s.
Ejemplo:
[110101101]1 = 0010100102
 El complemento a 2 de un número binario N
es el complemento a 1 del número mas 1:

[N]2 = [N]1 + 1
Valor de un número binario de n bits
 Un número binario de n bits puede representar
2n combinaciones diferentes (símbolos diferentes)
 Si sólo son enteros positivos:
 Rango: 0 a 2n-1
 Si enteros positivos y negativos:
 Usando complemento a 1: rango: (-2n-1 +1) a (2n-1 -1)
 Usando complemento a 2: rango: (-2n-1) a (2n-1 -1)
 Tarea: verificarlo (por ejemplo con n=4)

 Las mismas secuencias de bits se interpretan


de manera diferente.
Rangos de representación
 Un número de n bits puede representar:
2n números diferentes
2n-1 números positivos
2n-1 números negativos
El Rango está dado por: ( -2n-1 ) a (2n-1 – 1)

Ejemplos. Si n = 4, 8, 16, 23
 n= 4 bits, el rango es : -8 a 7
 n= 8 bits, el rango es : -128 a 127
 n=16 bits, el rango es: -32 768 a 32 767
 n=32 bits, el rango es: -2 147 483 648 a 2 147 483 647
Representación de números con signo
(Ver pp-49)

 4 bits pueden  8 bits pueden


representar 16 valores representar 256 valores
 01112 = 710  011111112 = 12710
 00002 = 010  000000002 = 010
 11112 = -110  111111112 = -110
 10002 = -810  100000002 = -12810

En notación con signo usando complemento a 2:


• 01…….11 es siempre 2n-1-1,
• 11……11 es siempre –1 y
• 10…...00 es siempre –2n-1. OK. Ver tabla anterior. pp-49
Tarea: Verificar
Complementos a 2 y a 1
Binario Decimal positivo Comp. a 1 Comp. a 2
00000 0 11111 00000
00001 1 11110 11111
00010 2 11101 11110
00011 3 11100 11101
00100 4 11011 11100
00101 5 11010 11011
00110 6 11001 11010
00111 7 11000 11001
01000 8 10111 11000
01001 9 10110 10111
01010 10 10101 10110
01011 11 10100 10101
01100 12 10011 10100
Tarea:
01101 13 10010 10011 Comprender
01110 14 10001 10010 y analizar la
01111 15 10000 10001 tabla dada.
Tarea

1. Verificar los números en las columnas de los


complementos.

1. Completar la tabla anterior incluyendo la


columna de números negativos.
FIN DE SISTEMAS NUMÉRICOS

También podría gustarte