Sistemas de Numeracion

22
I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA CURSO 2012 / 2013 SISTEMAS INFORMÁTICOS Página 1 U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo 1. INTRODUCCIÓN 2. SISTEMAS DE NUMERACIÓN 2.1. DEFINICIÓN DE SISTEMA DE NUMERACIÓN 2.2. PRINCIPIO DE POSICIONAMIENTO 2.3. DEFINICIÓN DE BASE DE UN SISTEMA DE NUMERACIÓN 2.4. DEFINICIÓN GENERAL DE SISTEMA DE NUMERACIÓN 2.5. DESARROLLO POLINOMIAL 2.6. CONVERSIÓN ENTRE BASES 2.7. SISTEMA BINARIO 2.8. SISTEMA OCTAL Y HEXADECIMAL 2.9. CONVERSIONES DE UN SISTEMA A OTRO 2.9.1. DE BINARIO A OCTAL 2.9.2. DE BINARIO A HEXADECIMAL 2.9.3. DE OCTAL O HEXADECIMAL A BINARIO 2.9.4. DE DECIMAL A HEXADECIMAL U OCTAL Y VICEVERSA 2.9.5. DE OCTAL A HEXADECIMAL Y VICEVERSA 2.10. REPRESENTACIÓN DE LOS NÚMEROS ENTEROS CON SIGNO 2.10.1. SIGNO-MAGNITUD. ARITMÉTICA BINARIA 2.10.2. COMPLEMENTOS. ARITMÉTICA BINARIA 2.10.3. EXCESO A BASE ELEVADO A (N-1) 2.11. REPRESENTACIÓN DE NÚMEROS REALES SISTEMAS DE NUMERACIÓN.

Transcript of Sistemas de Numeracion

Page 1: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 1

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

1. INTRODUCCIÓN

2. SISTEMAS DE NUMERACIÓN

2.1. DEFINICIÓN DE SISTEMA DE NUMERACIÓN

2.2. PRINCIPIO DE POSICIONAMIENTO

2.3. DEFINICIÓN DE BASE DE UN SISTEMA DE NUMERACIÓN

2.4. DEFINICIÓN GENERAL DE SISTEMA DE NUMERACIÓN

2.5. DESARROLLO POLINOMIAL

2.6. CONVERSIÓN ENTRE BASES

2.7. SISTEMA BINARIO

2.8. SISTEMA OCTAL Y HEXADECIMAL

2.9. CONVERSIONES DE UN SISTEMA A OTRO

2.9.1. DE BINARIO A OCTAL

2.9.2. DE BINARIO A HEXADECIMAL

2.9.3. DE OCTAL O HEXADECIMAL A BINARIO

2.9.4. DE DECIMAL A HEXADECIMAL U OCTAL Y VICEVERSA

2.9.5. DE OCTAL A HEXADECIMAL Y VICEVERSA

2.10. REPRESENTACIÓN DE LOS NÚMEROS ENTEROS CON SIGNO

2.10.1. SIGNO-MAGNITUD. ARITMÉTICA BINARIA

2.10.2. COMPLEMENTOS. ARITMÉTICA BINARIA

2.10.3. EXCESO A BASE ELEVADO A (N-1)

2.11. REPRESENTACIÓN DE NÚMEROS REALES

SISTEMAS DE NUMERACIÓN.

Page 2: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 2

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

3. REPRESENTACIÓN INTERNA DE LA INFORMACIÓN

3.1. REPRESENTACIÓN DE DATOS ALFABÉTICOS Y ALFANUMÉRICOS

3.2. ASCII

3.3. UNICODE

3.4. BCD Y EBCDIC

Page 3: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 3

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

1. INTRODUCCIÓN

La información son datos, es decir, todo aquello que es capaz de ser manejado por un sistema, como

entrada, programa o resultado. También se pude definir como todo aquello que se puede leer o escribir.

La información aisladamente carece de sentido, por lo que además de definir la información tenemos que

definir los sistemas que la usan y/o manipulan.

Podemos clasificar los sistemas de información en:

a. Sistemas de flujo de información: la información que entra es la misma que la que sale.

b. Sistemas de tratamiento de información: la información que entra en el sistema es distinta a la que

sale, es decir, ha sido manipulada.

Independientemente del sistema en el que se esté procesando la información, esta estará representada por

símbolos (no constituyen información, sólo la representan). Además, la información ha de estar

almacenada en los diferentes soportes de información para que después pueda ser procesada por el

ordenador con el fin de obtener otra información en forma de resultados.

Distinguimos los siguientes tipos de información: numérica, alfabética y alfanumérica. Para su

representación utilizamos:

Datos numéricos: sistemas de representación decimal, binario (usados por los sistemas digitales),

octal y hexadecimal.

Información alfabética, alfanumérica y algunos signos especiales: códigos alfanuméricos como ASCII

y EBCDIC.

Como consecuencia del estudio de la naturaleza de la información y de su transmisión (comunicación)

surge el problema de la codificación de la información. Para que la comunicación pueda producirse, es

necesario un código, es decir, un conjunto limitado y moderadamente extenso de símbolos que se

combinan mediante ciertas reglas conocidas por el emisor y por el receptor. Veremos algunos códigos que

cumplen determinadas propiedades, particularizándolo para el caso de los códigos binarios (codificación

binaria)

2. SISTEMAS DE NUMERACIÓN

2.1. DEFINICIÓN DE SISTEMA DE NUMERACIÓN

Se denomina sistema de numeración a las formas de representación de las magnitudes cuantitativas, es

decir, representación de datos numéricos.

El sistema de numeración más empleado actualmente es el llamado sistema decimal, que utiliza diez

símbolos (0 – 9) distintos para la representación de cantidades.

Page 4: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 4

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

2.2. PRINCIPIO DE POSICIONAMIENTO

El sistema decimal utiliza el principio de posicionamiento (valor relativo) para los diferentes dígitos. Así, el símbolo 3 aislado representa el número 3, el 30 representa 3 x 10 o 3 veces 10, si el símbolo 3 se traslada dos lugares: 300 representa 3 x 100, etc. Mientras que 0.3 representa 3 x10-1 =3/10, 0.03 representa 3x10-2

= 3/100, …

Por tanto, el valor de un símbolo, cifra o dígito depende de:

El símbolo (valor absoluto).

El lugar que ocupa en el número (valor relativo).

2.3. DEFINICIÓN DE BASE DE UN SISTEMA DE NUMERACIÓN

Se denomina base de un sistema de numeración al número de símbolos distintos utilizados para la

representación de cantidades.

2.4. DEFINICIÓN GENERAL DE SISTEMA DE NUMERACIÓN

Generalizando, un sistema de numeración en base “b” con b>1, utiliza para representar los números un

alfabeto formado por el cero y “b-1” símbolos, cifras o dígitos. Así, todo número se expresa por un conjunto

de cifras, contribuyendo cada una de ellas con un valor que depende del valor de la cifra en sí y de la

posición que ocupa dentro del número.

2.5. DESARROLLO POLINOMIAL

El número real N de “p” dígitos enteros y “q” fraccionarios, expresado en base “b” adopta el siguiente

desarrollo polinomial:

Donde:

es un dígito perteneciente al alfabeto del sistema

De lo anterior se desprende que:

Cuanto mayor sea la base del sistema, mayor será el número de dígitos del alfabeto y menor el

número de cifras necesarias para la representación de una cantidad.

Ejemplo: Comparar las base 10 y 5.

Alfabetos: base 10 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, base 5 {0, 1, 2, 3, 4}

El valor decimal del número 234103 en base 5 será, aplicando el desarrollo polinomial:

Seis cifras Cuatro cifras

Cuanto menor es la base más simple son las reglas que rigen los cálculos aritméticos.

Page 5: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 5

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

2.6. CONVERSIÓN ENTRE BASES

Supongamos un número N expresado en base “ ”. Se plantea la necesidad de convertir el número N a

base “ ”. Casos:

a. Conversión de una base “b” a decimal se aplica el desarrollo polinomial.

b. Conversión de decimal a una base “b” se separa la parte entera decimal del número a convertir

para tratarlas por separado; la conversión a base “b” de:

- La parte entera se realiza mediante divisiones sucesivas por la “b”. Si N es finito el proceso

también lo será.

- La parte fraccionaria se realiza mediante multiplicaciones sucesivas por “b”. Este proceso

no es necesariamente finito, es posible que la parte fraccionaria de un número en base

“ ” no pueda ser representada en base “ ” con un número finito de dígitos. Cuando se

da esta circunstancia, en algunos casos se encontrará un periodo de dígitos que se repiten,

y en otros ni siquiera existirá periodo.

Ejemplos:

1. Convertir el número a base 8.

Solución:

El número en base 8 se obtiene tomando el último cociente y los restos de las divisiones sucesivas.

Se toman de abajo arriba y se coloca de izquierda a derecha.

535 8

55 66 8

7 2 8 8

0 1

2. Convertir a base 2.

Solución:

PARTE ENTERA PARTE FRACCIONARIA

COCIENTE RESTO 357 : 2 178 1 0.6875 × 2 = 1.375 178 : 2 89 0 0.375 × 2 = 0.75

89 : 2 44 1 × 2 = 1.5 44 : 2 22 0 × 2 = 1 22 : 2 11 0 11 : 2 5 1

5 : 2 2 1 2 : 2 1 0

Page 6: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 6

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

3. Convertir a base 8.

Solución:

PARTE FRACCIONARIA

0.453125 x 8 = 3.625

0.625 x 8= 5

=

4. Convertir a base 2.

Solución:

PARTE FRACCIONARIA

0.825 x 2 = 1.65

0.65 x 2 = 1.3

0.3 x 2 = 0.6

0.6 x 2 = 1.2

0.2 x 2 = 0.4

0.4 x 2 = 0.8

0.8 x 2 = 1.6

0.6 x 2 = 1.2

0.2

=

2.7. SISTEMA BINARIO

Alfabeto: {0, 1}. Base = 2.

Tabla de los dieciséis primeros números enteros decimales y sus correspondientes binarios (cuando se

terminan los números que se pueden expresar con un dígito, se toma el primer dígito distinto de cero y se

va juntando ordenadamente con el resto de los dígitos del alfabeto).

DECIMAL BINARIO DECIMAL BINARIO DECIMAL BINARIO DECIMAL BINARIO

0 0000 4 0100 8 1000 12 1100

1 0001 5 0101 9 1001 13 1101

2 0010 6 0110 10 1010 14 1110

3 0011 7 0111 11 1011 15 1111

Page 7: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 7

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

Con “n” dígitos binarios se pueden representar todos los enteros cuya magnitud N está comprendida en el

rango: 0 ≤ N ≤ (En la tabla

2.8. SISTEMA OCTAL Y HEXADECIMAL

Alfabeto octal {0, 1, 2, 3, 4, 5, 6, 7} Base = 8

Alfabeto hexadecimal {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} Base = 16

La tabla siguiente muestra las relaciones entre los 16 primeros números decimales, binarios, octales y

hexadecimales:

DECIMAL BINARIO OCTAL HEXADECIMAL

0 0000 0 0

1 0001 1 1

2 0010 2 2

3 0011 3 3

4 0100 4 4

5 0101 5 5

6 0110 6 6

7 0111 7 7

DECIMAL BINARIO OCTAL HEXADECIMAL

8 1000 10 8

9 1001 11 9

10 1010 12 A

11 1011 13 B

12 1100 14 C

13 1101 15 D

14 1110 16 E

15 1111 17 F

Las ventajas que presentan estos dos sistemas de numeración para la conversión a binario y viceversa, se

deriva del hecho de que las bases son potencias enteras de dos: 8 = y . De modo que:

- Cada dígito octal corresponde a 3 dígitos binarios.

- Cada dígito hexadecimal corresponde a 4 dígitos binarios.

2.9. CONVERSIONES DE UN SISTEMA A OTRO

2.9.1. DE BINARIO A OCTAL

Se lleva a cabo fácilmente haciendo una partición del número binario en grupos de 3 dígitos, empezando

desde el punto binario. El dígito correspondiente se asigna a cada grupo de 3 dígitos binarios.

Ejemplo: Convertir el número a octal.

Page 8: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 8

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

2.9.2. DE BINARIO A HEXADECIMAL

El número binario se divide en grupos de 4 dígitos.

Ejemplo: Convertir el número a base hexadecimal.

2.9.3. DE OCTAL O HEXADECIMAL A BINARIO

Procedimiento inverso al anterior, es decir:

- A cada dígito octal le corresponde 3 dígitos binarios.

- A cada dígito hexadecimal le corresponde 4 dígitos binarios.

Ejemplo: Convertir a binario los números

2.9.4. DE DECIMAL A HEXADECIMAL U OCTAL Y VICEVERSA

Ejemplos:

1. Convertir el número hexadecimal 7A4C.A2 a decimal.

Solución: Desarrollo polinomial. (7A4C.A2)16 = (31308.6328)10

2. Convertir el número decimal 70473.03125 a hexadecimal.

Solución: parte entera divisiones sucesivas por la base 16, parte fraccionaria multiplicaciones

sucesivas. (70473.03125)10 = (1B83.08)16

2.9.5. DE OCTAL A HEXADECIMAL Y VICEVERSA

Para llevar a cabo estas conversiones se realiza un paso intermedio: pasar a binario.

2.10. REPRESENTACIÓN DE LOS NÚMEROS ENTEROS CON SIGNO

Los números binarios sin signo representan únicamente cantidades positivas y constituyen la más simple de

las representaciones numéricas.

Con números binarios de n dígitos, interpretados como enteros sin signo, las cantidades representables van

desde 0 a . Evidentemente, surge la necesidad de representar números negativos. En el sistema de

numeración decimal esto se soluciona poniéndole al número negativo una marca (-) a la izquierda del dígito

más significativo. Si se hiciera lo mismo en binario sería necesario un nuevo símbolo además del 0 y el 1

para representar los números, y por tanto, las máquinas digitales tendrían que trabajar con tres niveles

lógicos, con los inconvenientes que esto supone.

Estudiaremos los siguientes sistemas de representación:

Page 9: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 9

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

- Signo-magnitud

- Complementos

- Exceso a base elevado a (n-1)

2.10.1. SIGNO-MAGNITUD. ARITMÉTICA BINARIA

Una solución es utilizar uno de los dígitos del número para indicar su signo. Normalmente, se sigue el

criterio de añadir, a la izquierda del número, un dígito para indicar el signo (dígito del signo), tal que:

Si el número es negativo el dígito de signo es “1”.

Si el número es positivo el dígito del signo es “0”.

Este sistema de representación de los números recibe el nombre de sistema signo-magnitud, porque un

dígito se dedica al signo y los demás a la magnitud. Es conveniente, cuando se trabaja con números

binarios, establecer claramente el formato, es decir, el número de dígitos que se van a usar para representar

el número.

Si el número contiene “n” dígitos, incluido el signo, entonces con este formato se pueden representar

números que van desde .

Un formato muy corriente para representar números es el de ocho dígitos incluido el signo. En este caso el

rango de representación del formato es [-127, 127].

Notación:

Ejemplos:

ARITMÉTICA BINARIA

a. SUMA

SUMANDO SUMADOR ACARREO SUMA

0 + 0 0 0

0 + 1 0 1

1 + 0 0 1

1 + 1 1 0

Consideramos la suma en los siguientes casos:

Page 10: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 10

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

i. Los dos números tienen el mismo signo: se toman los dígitos correspondientes a la

magnitud de los dos números y se opera según la tabla de la suma. Al resultado se le

pone el mismo dígito de signo que tienen los sumandos.

Ejemplo: sumar los números

0

0

0

signo

Si se utiliza un formato de “n” dígitos incluido el signo y se suman dos números cuya suma

es mayor de , son necesarios n+1 dígitos para representar el resultado. A esta

situación se le denomina overflow o desbordamiento aritmético. Para evitar esta situación

anómala, se adopta para los sumandos un formato capaz de albergar la suma. En general,

para números de n dígitos incluido el signo, el rango del valor absoluto de la suma va desde

0 a :

Por tanto, si se quiere evitar que se produzca desbordamiento cuando se suman números

cuyo valor absoluto está en el rango , se adopta un formato de n+1 dígitos

incluido el signo.

Ejemplo: sumar los números decimales 120 y 67. (120 + 67 = 187)

El formato necesario para representarlos es 8 dígitos incluido el signo. Para evitar

desbordamiento se utiliza un formato de 9 dígitos incluido el signo.

0

0

0

ii. Cuando sumando y sumador tienen dígitos distintos: La suma se convierte en resta. Se

resta del mayor (en valor absoluto) el menor y al resultado se le pone el signo del

mayor. En este caso es evidente no se produce desbordamiento.

Ejemplo: Sumar los números decimales 24 y -12

0

1

0

Page 11: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 11

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

b. RESTA

MINUENDO SUSTRAENDO PRÉSTAMO DIFERENCIA

0 - 0 0 0

0 - 1 1 1

1 - 0 0 1

1 - 1 0 0

c. MULTIPLICACIÓN

MULTIPLICANDO MULTIPLICADOR PRODUCTO

0 * 0 0

0 * 1 0

1 * 0 0

1 * 1 1

d. DIVISIÓN

DIVIDENDO DIVISOR RESTO COCIENTE

0 : 0 - -

0 : 1 0 0

1 : 0 - -

1 : 1 0 1

2.10.2. COMPLEMENTOS. ARITMÉTICA BINARIA

Con el sistema de representación en signo-magnitud, las operaciones de suma y resta obedecen a dos tablas

distintas. Utilizar este sistema de representación en una máquina digital significaría utilizar un circuito para

realizar las sumas y otro distinto para las restas.

Los complementos son transformaciones en la representación de los números que se usan en las máquinas

digitales para convertir las resta en sumas (se resta sumando) y así simplificar la circuitería; también se

usan para realizar determinadas operaciones lógicas. Hay dos clases de complementos para cada sistema

de numeración de base b:

Page 12: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 12

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

1. COMPLEMENTO A LA BASE

En el caso del sistema de numeración binario: complemento a dos.

DEFINICIÓN: Dado un número positivo X en base “b” con “n” dígitos en su parte entera, se define el

complemento a b de X como:

para X

0 para X

Y se representa por b X

En general, con el convenio del complemento a dos y un formato de “n” dígitos incluidos el signo se

pueden representar números comprendidos en el rango

Para el caso de n = 4

Ejemplos:

a. El complemento a 10 del número es:

- 4575 = 10000 – 4575 =

b. El complemento a 2 de es:

- 10110 = 100000 – 10110 =

Dos métodos alternativos para la obtención del complemento a 2 de un número binario:

MÉTODO 1: Dejar todos los ceros menos significativos y el primer dígito distinto de cero sin cambios, y

reemplazar unos por ceros y ceros por unos en el resto de los dígitos más significativos.

MÉTODO 2: Cambiar de valor todos los dígitos del número binario (es decir, cambiar unos pro ceros y

ceros por unos) y después sumar uno.

OBSERVACIONES:

El complemento del complemento deja el número en su forma original. El complemento a b de X

es (bn –X) y el complemento de (bn – X) es bn (bn – X) = X

Un número sumado con su complemento da como resultado cero (despreciando el acarreo

producido). Demostración: (el acarreo

más cero)

Page 13: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 13

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

ARITMÉTICA BINARIA

Sea M y N dos números positivos expresados en base b. Es posible realizar la operación de sustracción

M-N sumándole a M el complemento a la base de N.

Demostración: Supongamos que N tiene “n” dígitos enteros, entonces:

M + b(N) = M + (bn – N) = bn + (M - N)

Donde bn es un 1 seguido de “n” ceros, es decir, un acarreo en el último dígito de la suma.

Si (M – N) ≥ 0, despreciando el acarreo tendremos el resultado M – N.

Si (M – N) < 0, tendremos el complemento a b del valor absoluto del resultado.

Tres casos posibles para realizar la suma:

a. Sumando y sumador positivos: puede producirse desbordamiento aritmético cuando el

resultado de la suma no quepa en el formato de los sumandos: (A + B)> 2n-1 -1

b. Sumando y sumador tienen signos opuestos: nunca se puede producir desbordamiento

aritmético al ser siempre el valor absoluto del resultado menor que el valor absoluto de los

sumandos.

c. Sumando y sumador son negativos: puede producirse desbordamiento aritmético cuando el

valor absoluto de la suma sea mayor que 2n-1 (valor absoluto del número más negativo que

se puede representar en complemento a dos con un formato de n dígitos incluido el signo).

En este caso aumentaremos en un dígito el formato de los operandos, duplicando el dígito

del signo. Además, siempre se producirá un acarreo que se despreciará.

Demostración:

(-A) + (-B) = 2n – A + 2n – B = 2n + (2n – (A+B))

acarreo

Ejemplos: Utilizando el complemento a 10, realizar las siguientes sustracciones: (los dos números

deben tener el mismo número de dígitos)

a. 74563 – 5436

b. 5465 – 32

c. 8769 – 9675

Ejemplos: Utilizando el complemento a dos realizar las siguientes sustracciones:

a. 1010 – 0111

b. 1101 – 1011

c. 0011 – 1001

d. (1 101)sm + (1 010)sm

Page 14: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 14

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

2. COMPLEMENTO A LA BASE MENOS UNO

En el caso del sistema de numeración binario: complemento a uno.

DEFINICIÓN: Dado un número positivo X en base “b” con una parte entera de “n” dígitos, se define el

complemento a (b-1) de X como bn – 1 – X y se representa por (b-1)X.

EJEMPLOS:

a. Representar el complemento a 9 del número (4575)10

b. Representar el complemento a 1 del número (01100)2

Método alternativo para la obtención del complemento a 1 de un número binario: cambiar de valor todos

los dígitos del número, es decir, cambiar ceros por unos y unos por ceros.

OBSERVACIÓN:

El complemento del complemento deja el número en su forma original.

(1)X = bn – 1 – X

(1)(bn – 1 –X) = bn – 1 – (1)X = bn – 1 – (bn – 1 – X) = bn – 1 – bn + 1 + X = X

ARITMÉTICA BINARIA

Sea M y N dos números binarios positives expresados en base “b”. Es posible realizar la operación de

sustracción M-N sumándole a M el complemento a la base menos uno de N.

Demostración: Supongamos que N tiene “n” dígitos enteros, entonces:

M + (b-1)N = M + (bn - 1 – N) = bn – 1 + (M – N)

Donde bn – 1 es un acarreo en el último dígito de la suma.

Si (M – N) > 0 entonces se desprecia el acarreo procedente de 2n y se suma 1 para anular el -1 para

obtener M – N.

Si (M – N) ≤ 0 entonces se obtiene el complemento a uno del valor absoluto del resultado.

EJEMPLOS: Utilizando el complemento a uno realizar las siguientes sustracciones:

a. 1010(2 – 111(2

b. 1101(2 – 1011(2

c. 0011(2 - 1001(2

Page 15: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 15

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

Tres casos posibles para realizar la suma:

1. Sumando y sumador positivos: al coincidir la representación de los números positivos en los dos

convenios, son válidas exactamente las mismas consideraciones efectuadas en este caso para la

aritmética en complemento a dos.

2. Sumando y sumador tienen signos opuestos: al igual que en complemento a dos, nunca se puede

producir desbordamiento aritmético al ser siempre el valor absoluto del resultado menor que el

mayor valor absoluto de los sumandos.

3. Sumando y sumador son negativos: se produce desbordamiento aritmético cuando el valor absoluto

de la suma sea mayor que 2n-1 – 1 (valor absoluto del número negativo que se puede representar en

complemento a uno con un formato de “n” dígitos incluido el signo). Para evitar el desbordamiento,

se duplica el dígito del signo. ¿Qué ocurre con el acarreo?

(-A) + (-B) = (2n – 1 - A) + (2n -1 – B) = 2n + [2n - 1 – (A + B)] – 1

El resultado será negativo, ya que los dos sumandos lo son, y vendrá expresado como negativo en

complemento a uno (2n - 1 – (A + B)), y lo obtendremos despreciando el acarreo procedente del

primer 2n y sumando 1 para anular el -1.

2.10.3. EXCESO A BASE ELEVADO A (N-1)

Este método no utiliza ningún bit para el signo, con lo cual todos los dígitos representan un módulo o valor

que corresponde al número representado más el exceso, que para “n” bits viene dado por 2n-1

Por ejemplo, para 8 bits el exceso a 27 = 128 y por tanto:

El número 10(10 vendrá representado por: 10 + 128 = 138 (10001010)2

El número (-10)10 exceso: -10 + 128 (01110110)2

N=0 exceso: 0 + 128 = 128 (10000000)2. Una única representación.

El rango de representación es ASIMÉTRICO: -2n-1 N 2n-1 – 1

OBSERVACIONES: Todo número representado en exceso es igual a su correspondiente representación en

complemento a dos con el primer dígito de la izquierda cambiado.

EJEMPLOS:

a. Representar el número 10(10 en exceso a 128 y en complemento a dos

b. Representar el número -10(10 en exceso a 128 y en complemento a dos

2.11. REPRESENTACIÓN DE NÚMEROS REALES

Los números reales vistos hasta ahora se han representado en un formato numérico conocido como

formato en coma fija en los que la coma binaria está colocada implícita o explícitamente en una

posición fija.

En un entero (Xn-1 Xn-2 … X0) implícitamente hay una coma binaria situada inmediatamente a la derecha

del dígito menos significativo X0.

Page 16: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 16

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

En un número fraccionario puro (X-1 X-2 … X-P)2 se presupone implícita una coma antes del coeficiente X-1.

Conceptualmente, no hay cambio alguno si se supone que la coma está en cualquier otra posición fija.

Recolocar la coma en el formato del número tiene el efecto de multiplicarlo por un factor constante que

es una potencia positiva o negativa de dos. Los algoritmos para realizar las diferentes operaciones

aritméticas con estos números son los mismos que se utilizan con los números enteros, obviando la

posición de la coma que en la suma y en la resta permanece inalterable.

Los formatos en coma fija permiten un rango muy limitado para la representación de los números

reales, por lo que se utiliza para ello el formato numérico en coma flotante, que permite aumentar el

rango de los números. Esta forma de representación es equivalente a la llamada notación científica.

Ejemplo:

Coma fija: 2700000000000 Notación científica: 2.7 x 1012

En esta notación científica el número tiene tres partes:

1. Mantisa: 2.7

2. Exponente: 12

3. Base: 10

Normalmente se omite la base y se escribe el número de la forma: 2.7 12

Generalizando, un número en coma flotante tiene la siguiente forma: S M x BE donde:

S es el signo del número

B es la base

E es el exponente

Normalmente, un número en coma flotante se almacena como un par de números en coma fija, la

mantisa M y el exponente E, que representan el número M x BE utilizando una determinada base

implícita B.

El número de dígitos reservado para la mantisa está directamente ligado a la precisión de los cálculos y

el número de dígitos del exponente determina los valores extremos que la máquina es capaz de

manejar, es decir, el rango de representación.

La representación de un número en coma flotante no es única, tiene tantas variaciones como lugares

puede ocupar la coma, que por convenio se supone situada en un lugar fijo de la mantisa.

EJEMPLO: El número 101010000(2 en coma fija se puede representar de las siguientes formas:

a. 1010.1 x 20101

b. 101.01 x 20110

c. 10.101 x 20111

d. 1.0101 x 21000

Page 17: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 17

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

Para evitar representaciones múltiples del mismo número y mantener tantos dígitos significativos en la

mantisa como sea posible, los números en coma flotante se normalizan.

Según la convención más extendida, un número distinto de cero normalizado tiene una mantisa

fraccionaria tal que 0.1 < 1. Los límites están expresados en binario. Esta norma supone la coma

binaria situada inmediatamente a la izquierda del dígito más significativo de la mantisa.

El proceso que transforma una mantisa en una mantisa normalizada se denomina NORMALIZACIÓN.

Este proceso implica un ajuste del exponente de manera que el número no quede alterado en su valor.

El cero es un caso especial debido a que 0 = 0 x 2E E y por tanto no se puede representar de la misma

manera que los números distintos de cero. La convención utilizada para el cero es tomar una mantisa

cero y el mayor exponente negativo posible (-128).

Convenio de representación para el almacenamiento de números binarios en coma flotante de 32

dígitos binarios (Standard IEEE754):

S EXPONENTE MANTISA

31 30

23

22

0

1 dígito

Signo de

la

mantisa

8 dígitos

Implícitamente contiene el

signo del exponente

(exceso a 128)

23 dígitos

E y M son números binarios en coma fija y la base B es 2. M representa una fracción binaria, que con S

forma un número con la estructura signo – magnitud. Hay un “1” implícito a la izquierda de la coma

binaria asociada a M, de manera que la mantisa completa se puede expresar como 1.M.

EJEMPLOS: Representar los siguientes números en el formato de coma flotante:

a. 844.4(10

b. 12(10

c. -2.75(10

3. REPRESENTACIÓN INTERNA DE LA INFORMACIÓN

El bit es la unidad mínima de almacenamiento empleada en informática, en cualquier dispositivo digital o

en la teoría de la información; con él podemos representar dos valores cualesquiera, como verdadero o

falso, abierto o cerrado, blanco o negro, norte o sur, rojo o azul... Basta con asignar uno de esos valores al

estado de «apagado» (0) y el otro al estado de «encendido» (1).

Cuando se almacena la información no se trabaja a nivel de bit, sino que se trabaja a nivel de carácter

(letra, número o signo de puntuación), que ocupa lo que se denomina un byte, que a su vez está compuesto

Page 18: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 18

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

de 8 bits. El ordenador trabaja con agrupaciones de bits fáciles de manipular y suelen ser múltiplos de 2, la

base del sistema binario. Los tamaños más comunes son:

• Octeto, carácter o byte: es la agrupación de 8 bits, el tamaño típico de información; con él se puede

codificar el alfabeto completo (ASCII estándar).

• Palabra: tamaño de información manejada en paralelo por los componentes del sistema, como la

memoria, los registros o los buses. Son comunes las palabras de 8, 32, 64, 128 y 256 bits: 1 byte, 4, 8, 16,

32 bytes. A mayor tamaño de palabra, mayor es la precisión y la potencia de cálculo del ordenador.

Así, cuando decimos que un archivo de texto ocupa 5000 bytes, queremos decir que contiene el equivalente a

5000 letras o caracteres (entre dos y tres páginas de texto sin formato).

Lo normal es utilizar los múltiplos del byte: el kilobyte (kb), el megabyte (Mb), el g¡gabyte (Gb), etc.

En informática se utilizan las potencias de 2 (23, 210, 220...) para representar las medidas de la información; sin

embargo se ha extendido el uso de las potencias de 10 (uso decimal), debido a que se ha impuesto el uso del

Sistema Internacional de Medidas (SI), o sistema métrico. Así pues, el primer término de medida que se

utilizó fue el kilobyte (kb), y se eligió este porque 210 es aproximadamente 1 000, que se asocia con el kilo (1

000 gramos); en realidad debería ser 1 024 bytes, ya que 210 son 1 024.

La siguiente tabla muestra

las unidades de medida de

información más utilizadas, tanto en su uso decimal como

en su uso binario:Nombre

(Símbolo)

Sistema Internacional de

Unidades (SI) Estándar (uso

decimal)

Prefijo binario (uso binario)

Kilobyte (Kb) 10001 = 103 bytes 10241 = 210 bytes

Megabyte (Mb) 10002 = 106 bytes 10242 = 220 bytes

Gigabyte (Gb) 10003 = 109 bytes 10243 = 230 bytes

Terabyte (Tb) 10004 = 1012 bytes 10244 = 240 bytes

Petabyte (Pb) 10005 = 1015 bytes 10245 = 250 bytes

Exabyte (Eb) 10006 = 1018 bytes 10246 = 260 bytes

Zettabyte (Zb) 10007 = 1021 bytes 10247 = 270 bytes

Yottabyte (Yb) 10008 = 1024 bytes 10248 = 280 bytes

Page 19: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 19

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

El megabyte (Mb). Equivale a 106 (1 000000 bytes) o 220 (1 048576 bytes), según el contexto. Es el conjunto de 1

024 kilobytes, 220 bytes -^ 210 • 210 = 1 024 • 1 024 ->• —>] 048576; también podemos decir un millón de bytes

106.

Un gigabyte (Gb) equivale a 230 bytes o 109 bytes, según el uso. Es la unidad que más se usa actualmente para

especificar la capacidad de la memoria RAM, de las memorias de tarjetas gráficas, de los CD-ROM, o el tamaño

de los programas, de los archivos grandes. La capacidad de almacenamiento se mide habitualmente en

gigabytes, es decir, en miles de megabytes. Un Gb es el conjunto de 1024 megabytes, 230 bytes, o lo que es lo

mismo, 210 • 2 1 0 - 210 = 1 024 • 1 024 • 1 024 -> 1 073741 824; mil millones de bytes 1 O9.

3.1. REPRESENTACIÓN DE DATOS ALFABÉTICOS Y ALFANUMÉRICOS

Ya hemos visto cómo se almacenan las cantidades numéricas dentro del ordenador; ahora nos toca ver cómo se

almacena el resto de caracteres que forman el alfabeto.

Los códigos de E/S permitirán traducir la información o los datos que nosotros podemos entender a una

representación que la máquina puede interpretar y procesar. Los datos llegan y salen del ordenador a través de

los periféricos de entrada y de salida, respectivamente. Cada fabricante de componentes de E/S podría asignar

una combinación diferente al mismo símbolo de origen (por ejemplo, las letras del alfabeto); sin embargo, esto

no sería nada positivo en un mercado abierto como el informático. Por eso se tiende a la estandarización de

códigos, que ha llevado a la universalización de unos pocos códigos de E/S, como el BCD, EBCDIC, ASCII y

Unicode. La mayoría de estos códigos representan cada carácter por medio de un byte (8 bits). Sin duda, el más

importante de todos estos es el ASCII.

3.2. ASCII

El Código Estadounidense Estándar para el Intercambio de Información, o ASCII (American Standard Code for

Information Interchange), es la recomendación X3.4-1977 del Instituto Estadounidense de Normas Nacionales

(ANSÍ). Utiliza grupos de 7 bits por carácter, permitiendo 27—>-128 caracteres diferentes, lo que es suficiente

para el alfabeto en letras mayúsculas y minúsculas y los símbolos de una máquina de escribir corriente, además de

algunas combinaciones reservadas para su uso interno. El código ASCII extendido usa 8 bits por carácter, lo que

añade otros 128 caracteres posibles. Este juego de códigos más amplio permite que se agreguen los símbolos de

lenguajes extranjeros y varios símbolos gráficos.

Page 20: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 20

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

Tabla. Código Standard ASCII (caracteres alfanuméricos)

Tabla. Código Standard ASCII extendido (caracteres alfanuméricos)

Page 21: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 21

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

3.3. UNICODE

El Unicode Standard es una norma de codificación universal de caracteres que se emplea en los ordenadores bajo

Windows NT y en los navegadores Internet Explorer y Netscape a partir de su versión 4. Su uso se está

extendiendo. Utiliza 16 bits, lo que permite codificar todos los caracteres de cualquier lenguaje, hasta 65536.

La versión 3 de Unicode tiene 49194 caracteres de los utilizados en los lenguajes más importantes del mundo. El

objetivo de Unicode es representar cada elemento usado en la escritura de cualquier idioma del planeta. Los

idiomas actuales más importantes del mundo pueden escribirse con Unicode, incluyendo su puntuación, símbolos

especiales, símbolos matemáticos y técnicos, formas geométricas, caracteres gráficos y modelos de Braille.

Unicode proporciona un número único para cada carácter, sin importar la plataforma, sin importar el

programa, sin importar el idioma. Líderes de la industria tales como Apple, HP, IBM, JustSystem, Microsoft,

Oracle, SAP, Sun, Sybase, Unisys y muchos otros han adoptado la norma Unicode. Unicode es un requisito para

los estándares modernos tales como XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., y es la

manera oficial de aplicar la norma ISO/IEC 10646. Es compatible con numerosos sistemas operativos, con todos

los exploradores actuales y con muchos otros productos. La aparición de la norma Unicode y la disponibilidad de

herramientas que la respaldan se encuentran entre las más recientes e importantes tendencias en tecnología de

software.

La incorporación de Unicode en sitios web y en aplicaciones de cliente-servidor o de múltiples niveles permite

disminuir ostensiblemente los costos del uso de juegos de caracteres heredados. Unicode permite que un producto

de software o sitio web específico se oriente a múltiples plataformas, idiomas y países, sin necesidad de

rediseñarlo. Además, permite que los datos se trasladen a través de gran cantidad de sistemas distintos sin sufrir

daños.

Básicamente, las computadoras solo trabajan con números. Almacenan letras y otros caracteres mediante la

asignación de un número a cada uno. Antes de que se inventara Unicode, existían cientos de sistemas de

codificación distintos para asignar estos números. Ninguna codificación específica podía contener caracteres

suficientes; por ejemplo, la Unión Europea, por sí sola, necesita varios sistemas de codificación distintos para

cubrir todos sus idiomas. Incluso para un solo idioma como el inglés no había un único sistema de codificación

que se adecuara a todas las letras, signos de puntuación y símbolos técnicos de uso común.

3.4. BCD Y EBCDIC

BCD, que significa decimal codificado en binario (Binary Coded Decimal), en realidad no es un código de E/S, sino

una forma de codificar los símbolos numéricos del O al 9 que se emplean en varios códigos de E/S, entre los que

figuran EBCDIC y ASCII.

Page 22: Sistemas de Numeracion

I.E.S. MELCHOR GASPAR DE JOVELLANOS C.F. DESARROLLO DE APLICACIONES MULTIPLATAFORMA

CURSO 2012 / 2013

SISTEMAS INFORMÁTICOS Página 22

U.T. 1: SISTEMAS DE NUMERACIÓN Pilar Rubio Bravo

BCD divide cada octeto en dos mitades o cuartetos, cada uno de los cuales almacena en binario una cifra. Con

este código es muy fácil convertir del binario al sistema decimal.

El EBCDIC, o código BCD extendido de caracteres decimales codificados en binario para el intercambio de

información (EBCDIC, Extended BDC Interchange Code), es un sistema de codificación que tiene como objetivo la

representación de caracteres alfanuméricos. Es el utilizado por la empresa IBM para sus ordenadores de la serie

IBM PC ¡miniordenadores y mainframes).

En este sistema de codificación, cada carácter tiene 8 bits. Al tener ocho, podremos representar hasta 28 256

caracteres. Será posible almacenar letras mayúsculas, minúsculas, caracteres especiales, caracteres de control

para dispositivos de E/S y para comunicaciones.