Sistema Númerico

17
Tema 2- Sistemas Tema 2- Sistemas Numéricos - Representación Numéricos - Representación de Enteros de Enteros Gustavo Dávila Oct 2011

Transcript of Sistema Númerico

Tema 2- Sistemas Tema 2- Sistemas Numéricos - Representación Numéricos - Representación

de Enterosde Enteros

Gustavo Dávila Oct 2011

Representación de EnterosRepresentación de Enteros

Sistema Numérico PosicionalSistema Numérico Posicional♦Considere el número Considere el número 583 e583 es ‘quinientos ochenta s ‘quinientos ochenta y tres’y tres’

♦Los digitos Los digitos 5,85,8 y 3 ocupan una y 3 ocupan una posiciónposición en el número en el número

♦Cada posición tiene un Cada posición tiene un pesopeso• 33 ocupa la posición de ‘unidades’, y su peso es ocupa la posición de ‘unidades’, y su peso es 1, 1,

• 88 ocupa la posición de ‘decenas’ ocupa la posición de ‘decenas’

• 55 la posición de ‘centenas’ la posición de ‘centenas’

• 583 = 5x100 + 8x10 + 3x1 = 5x10583 = 5x100 + 8x10 + 3x1 = 5x1022 + 8x10 + 8x1011 + 3x10 + 3x1000

♦Los Los pesos posicionalespesos posicionales son expresados en potencias de son expresados en potencias de 10 10

A 10 se le llama A 10 se le llama la la basebase o o raízraíz del sistema del sistema

♦Los sistemas numéricos con laLos sistemas numéricos con la• base 10 se llama sistema decimalbase 10 se llama sistema decimal

• base 2 es sistema numérico binariobase 2 es sistema numérico binario

• base 8 es sistema numérico octal base 8 es sistema numérico octal

• base 16 es sistema numérico hexadecimalbase 16 es sistema numérico hexadecimal

Usar Complemento a 9 y a 10Usar Complemento a 9 y a 10

• Suponga que que se quiere restar:Suponga que que se quiere restar:

125 - 9 = 116125 - 9 = 116

• Se puede hacer también de la forma complemento a 9Se puede hacer también de la forma complemento a 9

1) Se resta 009 de 999 = 9901) Se resta 009 de 999 = 990990 es ahora la representación de 9 en complemento a 9 para operarlo 990 es ahora la representación de 9 en complemento a 9 para operarlo

contra un número de 3 dígitoscontra un número de 3 dígitos

2) Se suma 1 a 990 = 991 2) Se suma 1 a 990 = 991

991 es ahora la representación de 9 en complemento a 10991 es ahora la representación de 9 en complemento a 10

3) Se realiza la operación 125 + 991 = 11163) Se realiza la operación 125 + 991 = 1116

4) Se descarta el acarreo y queda 116 4) Se descarta el acarreo y queda 116

• Se han restado dos números usando suma, más Se han restado dos números usando suma, más adelante se verá aplicando a los números binariosadelante se verá aplicando a los números binarios

Bits, Bytes y Palabras (words)Bits, Bytes y Palabras (words)

• Una colección de Una colección de 88 bits forma la más pequeña unidad significativa, bits forma la más pequeña unidad significativa, llamada un llamada un bytebyte

• Un patrón de Un patrón de 44 bits es llamado un bits es llamado un nibblenibble• A veces, se usan grandes números de bits juntos. Estos son A veces, se usan grandes números de bits juntos. Estos son

llamados llamados palabraspalabras (words) (words). No existe un estándar para el tamaño . No existe un estándar para el tamaño de una palabra asi que diferentes máquinas tienen diferente de una palabra asi que diferentes máquinas tienen diferente tamaño de palabratamaño de palabra

7 6 5 4 3 2 1 0 0 0 1 0 0 1 0 1

bit más significativo bit menos significativo

− El bit 0 es el ‘bit menos significativo’ o LSB− El bit 7 es el ‘bit más significativo’ o MSB− Para obtener el equivalente en decimal, se usan los pesos

posiciónales de cada bit y se expresan en potencias de 2

Representación de Enteros en Representación de Enteros en BinariosBinariosBinario a DecimalBinario a Decimal

1001101010011010 = 154 = 15411*2*277++00*2*266++00*2*255++11*2*244++11*2*233++00*2*222++11*2*211++00*2*200

11*2*277++11*2*244++11*2*233++11*2*211

128+16+8+2 = 154128+16+8+2 = 154

Decimal a BinarioDecimal a Binario

154 2154 2 00 77 2 77 2 1717 38 2 38 2 11 18 19 2 18 19 2

00 11 9 2 9 2 1001101010011010 11 4 2 4 2 00 2 2 2 2 00 11

LSB

MSB

Doble BabbleDoble Babble

Convertir 10011010 a su representación decimal

1 + 0 = 1 * 2 = 2

0 + 2 = 2 * 2 = 4

0 + 4 = 4 * 2 = 8

1 + 8 = 9 * 2 = 18

1 + 18 =19 * 2 = 38

0 + 38 =38 * 2 = 76

1 + 76 =77 * 2 = 154

0 + 154= 154

Magnitud con SignoMagnitud con Signo

Existen diversos métodos para representar los números negativos como binario. Son estos:

• El Esquema de Magnitud con Signo

• El Esquema de Complemento a Uno

• El Esquema de Complemento a Dos

El Esquema de Magnitud con Signo parte del principio que todo número tiene dos partes, un signo y una magnitud

1 0 1 0 1 0 1 1 => - 43

( - ) ( 43 )

Signo Magnitud

Para un número de n bits de longitud: - el máximo entero positivo que se puede representar es 2n-1-1 - el mínimo entero negativo que se puede representar es -(2n-1-1)

El Esquema de Complemento a UnoEl Esquema de Complemento a Uno

• Para representar un número en el esquema de complemento a uno se siguen los siguientes pasos:

1) Convertir el entero posititivo en el número dado de bits

2) Invertir todos los bits. 0s en 1s y 1s en 0s

• Ejemplo: Se va a representar el número -154

1) Se representa 154 positivo en binario

010011010

2) Se invierten los bits

101100101

• Mediante el bit de signo se puede verificar que:

(101100101)2 es la representación de (-154)10 en complemento a uno

El Esquema de Complemento a DosEl Esquema de Complemento a Dos

• Para representar un número en el esquema de complemento a dos se siguen los siguientes pasos:

1) Convertir el entero posititivo en el número dado de bits

2) Invertir todos los bits. 0s en 1s y 1s en 0s

3) Sumar 1 a los bits cambiados

• Ejemplo: Se va a representar el número -154

1) Se representa 154 positivo en binario

010011010

2) Se invierten los bits

101100101

3) Se suma 1 a los bits cambiados

101100110

Representaciones del CeroRepresentaciones del Cero

Complemento a Uno Complemento a Dos

Original 00000000 00000000

Cambiados 11111111 11111111

Sumar 1 (más 1 acarreo) 00000000

Resultado 11111111 00000000

Conclusión: •En complemento a uno al igual que en signo magnitud se pueden representar de dos formas el cero (más cero y menos cero) lo que es matematicamente incorrecto

•En complemento a dos existe una única manera de representar el cero

Esquema de Representación de Esquema de Representación de EnterosEnteros

Esquema MáximoEntero Positivo

MínimoEnteroNegativo

2n-1-1 -(2n-1-1)

Complemento a Uno 2n-1-1 -(2n-1-1)

Complementoa Dos 2n-1-1 -2n-1

Magnitud con Signo

Desborde AritméticoDesborde Aritmético

En 5 bits:• El rango de enteros que se puede representar es [-16,15] • El resultado de la adición (10)10 + (8)10 que es (18)10 cae fuera del

rango que puede ser representado en 5 bits • Esto se denomina ‘desborde aritmético’

Un ‘desborde aritmético’ ocurre cuando:• Existe un acarreo hacia el bit de signo, pero no fue acarreado en el bit

de signo, o

• No existe un acarreo hacia el bit de signo, pero existe un acarreo desde el bit de signo

+

-6

0

-4

-8

-2

4

2

-3

-1 1

5

76

3

-7

-5

-

Tema Tema – 3 - – 3 - Sistemas Sistemas Numéricos - Representación Numéricos - Representación

de Números Realesde Números Reales

Pasos para Convertir un Número Real Pasos para Convertir un Número Real Decimal a BinarioDecimal a Binario

Para convertir (32.625)Para convertir (32.625)1010 en binario los pasos son: en binario los pasos son:

1) Convertir la parte entera en binario1) Convertir la parte entera en binario

(32)(32)1010 = (100000) = (100000)22

2) Convertir la parte fraccional en binario2) Convertir la parte fraccional en binarioPara hacer esto se multiplica por 2 extrayendo la parte entera resultante en cada paso Para hacer esto se multiplica por 2 extrayendo la parte entera resultante en cada paso (para algunos números como 0.3 el proceso anterior no finaliza y debe ser truncado)(para algunos números como 0.3 el proceso anterior no finaliza y debe ser truncado)

0.625 * 2 = 0.625 * 2 = 11.250 .250 0.250 * 2 = 0.250 * 2 = 00.5.50.5 * 2 = 0.5 * 2 = 11.0 (0.625).0 (0.625)1010 = (101) = (101)22

3) Representar el número binario completo 3) Representar el número binario completo

(32.625)(32.625)1010 = (100000.101) = (100000.101)22 = (.100000101)x2 = (.100000101)x266

En este caso:En este caso:

(.100000101)(.100000101)22 es la mantisa normalizada y 6 es el exponente es la mantisa normalizada y 6 es el exponente

Pasos para Convertir un Número Real Pasos para Convertir un Número Real Decimal a BinarioDecimal a Binario

4) Guardar la mantisa normalizada en los 23 bits reservados para ella4) Guardar la mantisa normalizada en los 23 bits reservados para ella

5) Sumar el código de exceso al exponente y representarlo en 8 bits5) Sumar el código de exceso al exponente y representarlo en 8 bits

Exponente desplazado = 6 + 2Exponente desplazado = 6 + 2n-1 n-1 ==

6+128 = (134)6+128 = (134)1010 = (10000110) = (10000110)22

6) La representación final será6) La representación final será

Sistema OctalSistema Octal• El sistema octal es denominado el sistema numérico basado en 8

• Un número octal válido es una combinación de uno o más digitos octales válidos es decir del 0 al 7

• Conversion de un número octal en decimal(120)8 = 1x82 + 2x81 + 0x80

= 64 + 16 = (80)10

• Conversion de un número decimal a octal

80 8

0 10 8

2 1

Sistema HexadecimalSistema Hexadecimal

• La base del sistema hexadecimal es 16• Los diez primeros dígitos son 0,1,2,3,4,5,6,7,8 y 9• Los otros seis dígitos son A,B,C,D,E y F que represen los

equivalentes decimales de 10,11,12,13,14 y 15 respectivamente

• Convertir el número hexadecimal (249)16 en decimal

(249)16 = 2x162 + 4x161 + 9x160

= 2x256 + 64 + 9 = 512 + 64 + 9 = (585)10