Vous êtes sur la page 1sur 10

Sistemas Digitales

Nmeros en base 10

Sistemas numricos
Prof. Mario Medina mariomedina@udec.cl

Base usada da a da y natural para el ser humano 10 dgitos (smbolos) : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Notacin posicional
Valor del dgito dado por la posicin
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

Notacin posicional o ponderada


La ponderacin de cada dgito o smbolo est asociada a su posicin
Sistemas ponderados regulares
Ponderacin corresponde a potencias sucesivas de un valor base b

Notacin posicional regular


Un nmero N 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 fraccionaria
En algunos pases se utiliza el punto

Sistemas ponderados no regulares


Notacin horaria H1H0 : M1M0 : S1S0
Equivale a ((H110+H0)60+M110+M0)60+S110+S0

Tiene n dgitos en su parte entera Tiene m dgitos en su parte fraccionaria


Ejemplo: 34,342

Sistemas no ponderados
Nmeros romanos (I, V, X, L, C, M)

Notacin posicional regular


El valor de un nmero N en la base b se evala segn la formula
Nb = an-1bn-1 + an-2bn-2 + . . . + a1b1 + a0b0 + a-1b-1 + a-2b-2 + . . . + a-m+1b-m+1 + a-mb-m donde: b2, base del sistema numrico
ai, dgito entre 0 y b-1 n-1: mximo exponente en la parte entera -m: mnimo exponente en la parte fraccionaria

Bases ms comunes
Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binario 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 Ternario 0 1 2 10 11 12 20 21 22 100 101 102 110 111 112 120 Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Hexa 0 1 2 3 4 5 6 7 8 9 A B C D E F

an-1: Most Significant Digit (MSD) a-m: Least Significant Digit (LSD)

2011 Mario Medina C.

Sistemas Digitales

Porqu usar base 2?


Computadores digitales usan base 2
Toda informacin se traduce a cdigo binario Fcil deteccin de estados Fcil de implementar
Slo requiere 2 dgitos: 0 y 1 Compuerta est abierta / cerrada Corriente circula / no circula Transistor conduce / no conduce

Nmeros en base 2
Slo 2 dgitos, 0 y 1
Variable binaria es un Bit (Binary Digit) Nombre dado por John Tukey

Valor del dgito dado por la posicin


110012 = 100002 + 10002 + 12 110012 = 1 24 + 1 23 + 1 20 110012 = 16 + 8 + 1 = 25

Operaciones aritmticas: +, -, * Operaciones lgicas: AND, OR, XOR, NOT

Nmeros en base 8
Equivalente a base 2
Representacin ms fcil y compacta Usa dgitos 0-7 36708 = 3 83 + 6 82 + 7 81 = 197610

Nmeros en base 16
Equivalente a base 2
Representacin ms fcil y compacta Usa dgitos 0-9, A-F 36F016 = 3 163 + 6 162 + 15 161 = 1406410

Fcil conversin entre base 2 y base 8


Porque 8 es 23 Agrupar bits de derecha a izquierda de 3 en 3 001 101 010 1102 = 15268

Fcil conversin entre base 2 y base 16


Porque 16 es 24 Agrupar bits de derecha a izquierda de 4 en 4 0011 1101 1010 01102 = 3DA616

Potencias de 2
20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024 (1 Kilo) 220 = 1024K (1 Mega) 230 = 1024M (1 Giga) 240 = 1024G (1 Tera) 250 = 1024T (1 Peta) 260 = 1024P (1 Eta) 270 = 1024E (1 Zetta) 280 = 1024Z (1 Yotta)

Prefijos estndar IEC


No confundir 1 Kilo (1000) con 1 Kilo (1024)
1 Kilo de papas = 1000 gramos = 103 gramos 1 Kilo de bytes = 1024 bytes = 210 bytes En computacin, Kilo se usa para 1024

Prefijos estndares IEC


210: Kibi (Ki) 220: Mebi (Mi) 230: Gibi (Gi) 240: Tebi (Ti)

2011 Mario Medina C.

Sistemas Digitales

Convertir base 10 a base 2


Divisiones sucesivas
Procesa termina cuando resultado es 0 Retener los restos de las divisiones El primer resto calculado es el bit menos significativo b0

Conversin de enteros
Convertir entero Mb a base d
de la base original
Dividir Mb por la nueva base d usando la aritmtica Se obtiene un cuociente S y un resto r El resto de la divisin es el coeficiente c0 Repetir la divisin del cuociente S por la base
Cada nuevo resto corresponde a un nuevo ci

Convertir 28910 a base 2


289:2 = 144 + 1/2 144:2 = 72 + 0/2 72:2 = 36 + 0/2 36:2 = 18 + 0/2 18:2 = 9 + 0/2 9:2 = 4 + 1/2 4:2 = 2 + 0/2 2:2 = 1 + 0/2 1:2 = 0 + 1/2

Cmo convertir de base 10 a otras bases?

Terminar cuando el cuociente de la divisin es 0

Resultado: 1001000012

Conversin de enteros
Conversion de base b a base 10
Evaluar las potencias y la sumatoria Mtodo de los productos sucesivos

Mtodo de los productos sucesivos


Pasos a seguir
Multiplicar el dgito ms significativo por la base b Sumarle el dgito siguiente Multiplicar el resultado por la base b Repetir hasta que se haya sumado el ltimo dgito 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

Conversin de base b a base d


Proceso ms complejo Operaciones aritmticas en la base original b Recomendado: Convertir el nmero original de base b a base 10
Convertir el resultado anterior en base 10 a base d Considerar la escritura formal de un nmero en base d

Conversin 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+ 1431 8 8 8 10 8 10 8 10 8 10 8 10 8 10 8 10

Conversin de fracciones
Proceso de multiplicaciones sucesivas
Proceso termina cuando la precisin del resultado es equivalente

Ejemplo: convertir 0.78810 a base 2


Precisin original: 10-3 Precisin deseada: 2-x
x =3 log10 = 9.96 log2

12 0 6 0 3 1 1 1 0 0 = 6+ = 3+ = 1+ = 0+ = 0+ 01100 2 2 2 10 2 10 2 10 2 10 2 10 2 10 2 10 2 10 2 10

Se busca el entero superior: x = 10

2011 Mario Medina C.

Sistemas Digitales

Conversin de fracciones
Convertir nmero Nb a base d
aritmtica de la base original
Se obtiene una parte entera E y una fraccin f
La parte entera es el coeficiente c-1
Nb = a 1b1 + K + a mbm

Conversin de fracciones
Multiplicaciones sucesivas
Procesa termina cuando se alcanza la precisin buscada El primer rebalse calculado es el bit ms significativo b-1

Convertir 0.78810 a base 2


0.788*2 = 1.576 = 1 + 0.576 0.576*2 = 1.152 = 1 + 0.152 0.152*2 = 0.304 = 0 + 0.304 0.304*2 = 0.608 = 0 + 0.608 0.608*2 = 1.216 = 1 + 0.216 0.216*2 = 0.432 = 0 + 0.432 0.432*2 = 0.864 = 0 + 0.864 0.864*2 = 1.728 = 1 + 0.728 0.728*2 = 1.456 = 1 + 0.456 0.456*2 = 0.912 = 0 + 0.912

Multiplicar N por la nueva base d usando la

Multiplicar nuevamente la fraccin f por la base


Cada nueva parte entera es un nuevo ci

Terminar cuando las precisiones de Nb y Nd sean equivalentes

Resultado es 0.11001001102

Conversin de fracciones por restas sucesivas


Restas sucesivas de potencias decrecientes de 2
Si la resta da resultado positivo, se genera un dgito binario 1 Si la resta da resultado negativo, sta no se realiza y se genera un dgito 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.0.0546 a-4 = 1

Aritmtica en base 2
Suma binaria
+ 0 1 0 0 1 1 1 10

Suma binaria puede generar un rebalse o acarreo (carry)


Carry in: proviene del dgito de menor ponderacin (i-1) Carry out: generado hacia el dgito de mayor ponderacin (i+1)

Tabla de suma en base 2


x
0 0 0 0 1 1 1 1

Operaciones aritmticas en base 2


x+y
0 1 1 0 1 0 0 1

y
0 0 1 1 0 0 1 1

cin
0 1 0 1 0 1 0 1

cout
0 0 0 1 0 1 1 1

Resta binaria (x y)
x=0 x=1 y=0 0 1 y=1 1* 0

Resta binaria puede necesitar un prstamo (borrow)


Borrow in: prstamo que proviene del dgito de menor ponderacin (i-1) Borrow out: prstamo generado para el dgito de mayor ponderacin (i+1)

2011 Mario Medina C.

Sistemas Digitales

Tabla de resta en base 2


x
0 0 0 0 1 1 1 1

Ejemplo de resta binaria


x-y
0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 1

y
0 0 1 1 0 0 1 1

bin
0 1 0 1 0 1 0 1

bout

1 0 0

0 1 0

1 1 1

0 0 1

0 0 1

0 1 1

Minuendo Sustraendo Diferencia

Resta binaria es un proceso largo y muy propenso a errores


En la prctica no se utiliza Se prefiere realizar una suma con el sustraendo complementado

Ejercicios: resta binaria


1 11 1 0 1 0 0 10 0 0 1 1 1 1 01 0 1 1 0 1 10110010 111101 01110101

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

1110110 - 111101 0111001

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

Divisin aproxima resultados a entero inferior

Multiplicacin y divisin por la base


Equivalente a desplazar los coeficientes una posicin a la izquierda, llenndo el LSD con 0
Sea el entero Entonces, Nb b = a n1bn + a n2bn1 + K + a 0b1 + 0b0 Divisin por la base equivale a desplazamiento a la derecha
Generalizacin de lo que ocurre en base 10

Multiplicacin en base 2
Equivalente a realizar desplazamientos y sumas
10112x11012 1011 0000 1011 1011 100011112

Nb = a n1bn1 + a n2bn2 + K + a 0b0

2011 Mario Medina C.

Sistemas Digitales

Aritmtica 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

Aritmtica en otras bases


1 626 5338 + 1361 8 1 6 2 5 3 (11) (6) (8) 1 3 6 3 (9)
Prstamo

Suma decimal parcial - base Suma octal

Ejercicio: sumar los octales 626 y 533

(8) 6 1

Sistemas complementarios
Restar A B equivale a sumar A + (B)
Qu valor toma (B) para un nmero en binario? Sea Nb un nmero en base b
Nb = a k b
k =0 n 1 k

Notacin complemento a 2: [n]2


En base 2, se tiene

[N]2 = 2n (N)2

Se define el complemento a la base [Nb] como [N ]b = b n (N )b Nmeros fraccionarios

Codificacin usada para representar nmeros negativos en base 2 Para nmeros fraccionarios, se tiene que [Nf ]2 = 1 (Nf )2

[N f ]b = b 0 (N f )b

[0,1011]2 = 1 0,1011 = 0,01012

Sistemas complementarios
Complemento a 2 de 1001010010
1 0 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0

Sistemas complementarios
Ejercicios:
(N )2 210 (N)2
Complemento a 10 del decimal 1279
1 0 1 8 0 2 7 0 7 2 0 9 1

104 (N)10

Complemento a 8 del octal 342


1 0 3 4 0 4 3 0 2 6

83 (N)8

2011 Mario Medina C.

Sistemas Digitales

Mtodos de clculo de complemento a 2


Dos mtodos:
1.

Porqu usar complemento a 2?


Complemento a 2 simplifica la resta de nmeros binarios Convierte la resta de dos nmeros en una suma
X2 Y2 = X2 + [Y]2 Pero, hay dos casos dependiendo de la presencia de rebalses

Invertir cada bit del nmero original y sumar 1 al resultado


Ejemplo: [1101001]2 = 00101102 + 12

2.

Partiendo del bit menos significativo, copiar los bits hasta encontrar el primer 1. Luego, complementar el resto de los bits

Ejemplo: [110100100]2 = 0010111002

Restas en complemento a 2
1110112 1001102 es equivalente a sumar 1110112 + [100110]2
1110112 + [100110]2 es 1110112 + 0110102 lo que es igual a 10101012 Hubo un rebalse, por lo que 0101012 es el resultado correcto y el rebalse se ignora Comprobacin: 1110112 1001102 , lo que es 5910 3810 = 2110 que en base 2 es 101012

Qu pasa si no hay rebalse?


1001102 1110112 es equivalente a sumar 1001102 + [111011]2
Esto es 1001102 + 0001012 lo que da 1010112 No hubo rebalse: el resultado correcto es el complemento del resultado con signo negativo, es decir,- [101011]2 = -0101012 Comprobacin: 1001102 1110112, lo que es 3810 5910 = -2110 que en base 2 es -101012

Resta binaria complementaria


Por qu?
(A)2 + [B]2 equivale a (A)2 + 2n (B)2
Si (A)2 > (B)2, resultado es positivo mayor que 2n Se consideran solo los n bits menos significativos del resultado Si (A)2 < (B)2, resultado generado es menor que 2n Resultado es igual a ((B)2(A)2), valor que se puede conocer complementando el resultado

Signo de un nmero binario


Se quiere ahora representar el signo de un nmero en un bit adicional a la izquierda del nmero Si el MSB de un numero es 1, el numero es negativo Si el MSB de un numero es 0, el numero es positivo Un nmero binario de n bits en notacin con signo tiene la estructura
Signo 1 bit Magnitud en comp. a 2 n-1 bits

Magnitud se almacena en complemento a 2

2011 Mario Medina C.

Sistemas Digitales

Rebalses
Definicin de rebalses
Rebalse aritmtico: generado al pasar un rebalse desde el MSB del mdulo al bit de signo Rebalse lgico: rebalse desde el bit de signo al exterior En un resta pueden darse 4 casos, dependiendo de la existencia o ausencia de estos rebalses

Rebalses en sumas
Si existen ambos rebalses o si no existe ninguno de ellos
No hay error

Si la suma de dos nmeros del mismo signo tiene el signo opuesto a stos
Hay error

Si la suma de dos nmeros de distinto signo excede la capacidad de representacin


Hay error

Rebalse aritmtico en sumas


Rebalse aritmtico (4 + 4)
0 1002 0 1002 1 0002

Rebalse lgico
Rebalse lgico (-5-7)
1 0112 1 0012 10 1002

Error! Resultado correcto es 0 10002


Resultado obtenido es -8

Error! Resultado correcto es 1 01002 = -1210


Resultado obtenido es +4

La operacin excede representacin de 3 bits


Solucin: ampliar la representacin de los nmeros agregando otro bit al mdulo

Operacin excede representacin de 3 bits


Solucin: ampliar la representacin de los nmeros agregando otro bit al mdulo

Rebalse aritmtico y lgico


Rebalse lgico y aritmtico (-3-2)
1 1012 1 1102 11 0112

Operacin sin rebalse


No hay rebalse (3+2)
0 0112 0 0102 0 1012

Resultado correcto es 1 0112 = -510 Se ignora el rebalse lgico Rebalse aritmtico es el nuevo bit de signo

Resultado correcto es 0 1012 = 510

2011 Mario Medina C.

Sistemas Digitales

Representacin de nmeros con mdulo y signo


Decimal
-8 -7 -6 -5 -4 -3 -2 -1

Complemento a la base disminuida


Binario
0000 0001 0010 0011 0100 0101 0110 0111

Binario
1000 1001 1010 1011 1100 1101 1110 1111

Decimal
0 1 2 3 4 5 6 7

Sea el nmero entero Nb = a n1bn1 + a n2bn2 + K + a 0b0


Se define el complemento a la base disminuida como

[N]b1 = bn 1 (N)b = [N]b 1

Si N tiene parte entera y fraccionaria, esto es

[N]b 1 = bn b m (N )b = [N]b b m

Complemento a 1
En el sistema binario, el complemento a 1 de un nmero se obtiene complementando cada bit, es decir, intercambiando 1s y 0s. Ejemplo: Complemento a 1 de 110101101 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
En el sistema binario, el complemento a 1 de un nmero se obtiene complementando cada bit, es decir, intercambiando 1s y 0s.
Ejemplo: [110101101]1 = 0010100102

El complemento a 2 de un nmero binario N es el complemento a 1 del nmero + 1


[N]2 = [N]1 + 1

Complementos a 2 y a 1
Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Decimal positivo Comp. a 1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 -7 9 -6 10 -5 11 -4 12 -3 13 -2 14 -1 15 -0 Comp. a 2 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1

Valor de un nmero binario de n bits


Nmero binario de n bits puede representar 2n smbolos diferentes
Slo enteros positivos
Rango de 0 a 2n-1

Enteros positivos y negativos


Usando complemento a 1: rango de -2n-1 +1 a 2n-1 -1
Siempre hay 2 ceros en complemento a 1!

Usando complemento a 2: rango de -2n-1 a 2n-1 -1

Las mismas secuencias de bit se interpretan de manera diferente

2011 Mario Medina C.

Sistemas Digitales

Rangos de representacin
Nmero de n bits puede representar 2n-1 nmeros positivos y 2n-1 nmeros negativos
Rango: -2n-1 a (2n-1 1) 4 bits: -8 a 7 8 bits: -128 a 127 16 bits: -32 768 a 32 767 32 bits: -2 147 483 648 a 2 147 483 647

Representacin de nmeros con signo


4 bits pueden representar 16 valores
01112 = 710 00002 = 010 11112 = -110 10002 = -810

8 bits pueden representar 256 valores


011111112 = 12710 000000002 = 010 111111112 = -110 100000002 = -12810

En notacin con signo usando complemento a 2, 01.11 es siempre 2n-1-1, 1111 es siempre 1 y 10.00 es siempre 2n-1

Un poco de humor

En Japn, ensean a contar digitalmente de esta forma en las escuelas!

2011 Mario Medina C.

10

Vous aimerez peut-être aussi