departamento: ingeniería e investigaciones … · el sistema de numeración romano es no...

91
Departamento: Ingeniería e Investigaciones Tecnológicas Cátedra: Fundamentos de TIC’s (Tecnologías de la Información y la Comunicación) e-mail: [email protected] JEFE DE CÁTEDRA: Dr. Daniel A. Giulianelli UNIDAD NRO. 2 INTRODUCCIÓN A LOS SISTEMAS DE REPRESENTACIÓN DE LA INFORMACIÓN COLABORACIÓN: DOCENTES DE LA CÁTEDRA COORDINACIÓN: Mg. Artemisa Trigueros CICLO LECTIVO: 2014 Universidad Nacional de la Matanza

Upload: trandiep

Post on 25-Sep-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

„;

Giulianelli, Juan Ignacio Giulianelli, Daniel A

Doctorado en Ciencias Economías Universidad Nacional de la Matanza

Departamento: Ingeniería e Investigaciones Tecnológicas Cátedra:

Fundamentos de TIC’s (Tecnologías de la Información y la Comunicación)

e-mail: [email protected]

JEFE DE CÁTEDRA:

Dr. Daniel A. Giulianelli

UNIDAD NRO. 2 INTRODUCCIÓN A LOS SISTEMAS DE

REPRESENTACIÓN DE LA INFORMACIÓN

COLABORACIÓN:

DOCENTES DE LA CÁTEDRA

COORDINACIÓN:

Mg. Artemisa Trigueros

CICLO LECTIVO:

2014

Universidad Nacional de la Matanza

Page 2: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 2 de 91

Unidad 2: Introducción a los sistemas de representación de la

información

Índice PARTE A. SISTEMAS DE NUMERACIÓN............................................................... 4

2.A.1. Introducción ....................................................................................................... 4

2.A.2. Sistemas de Numeración Posicionales y No Posicionales ................................. 5

2.A.2.1 Características de un sistema posicional...................................................... 5

2.A.2.2. Valor Absoluto y Relativo .......................................................................... 8

2.A.2.3. Pasaje de una base a base 10....................................................................... 9

2.A.2.4. Base 10 a otra base ................................................................................... 11

Parte entera ......................................................................................................... 11

Parte fraccionaria ................................................................................................ 12

CASO 1: “Truncar las cifras fraccionarias” ................................................... 12

CASO 2: “Parte Fraccionaria llega a cero” .................................................... 14

CASO 3: “Parte Fraccionaria Periódica”........................................................ 14

Base 10 como intermediaria ................................................................................... 15

2.A.3. Pasaje Directo .................................................................................................. 15

2.A.3.1. Caso 1: Base Origen mayor que la Base Destino ..................................... 15

2.A.3.2. Caso 2: Base Origen menor que la Base Destino ..................................... 16

2.A.3.3. Importancia de aplicar pasaje directo ....................................................... 17

2.A.4. Operaciones Aritméticas .................................................................................. 18

2.A.4.1. Suma ......................................................................................................... 18

2.A.4.2. Resta ......................................................................................................... 21

2.A.4.3. Multiplicación ........................................................................................... 23

2.A.4.5. División..................................................................................................... 24

2.A.5. Utilidad del Sistema Binario ............................................................................ 26

PARTE B. INTRODUCCIÓN A LOS SISTEMAS NUMÉRICOS PARA

APLICACIONES INFORMÁTICAS ......................................................................... 28

2.B.1. Introducción ..................................................................................................... 28

2.B.2. Formas de representar a los números enteros .................................................. 28

2.B.2.1. Representación en binario puro. Enteros sin signo ................................... 29

2.B.2.2. Representación en signo y módulo. SM ................................................... 30

2.B.3. Complemento de un número. ........................................................................... 32

2.B.3.1. COMPLEMENTO A LA BASE ....................................................................... 32

2.B.3.2. COMPLEMENTO A LA BASE MENOS UNO .................................................. 34

2.B.3.3 UTILIZACIÓN DEL COMPLEMENTO EN OPERACIONES DE RESTA ............... 35

2.B.3.4. Representación en complemento a la base–1 (CB-1) ................................. 37

2.B.3.5. Representación en Complemento a la Base o ........................................... 39

Complemento a 2 .................................................................................................... 39

2.B.5. Operaciones aritméticas con números signados .............................................. 41

2.B.5.1. Suma en complemento a dos..................................................................... 42 2.B.5.2. Resta en complemento a dos ..................................................................... 44

2.B.6. Overflow (desborde) ........................................................................................ 45

2.B.7. Representación binaria de números reales ....................................................... 46

2.B.7.1. Representación exponencial. Punto Flotante ............................................ 46

2.B.7.2. Normalización de la mantisa ..................................................................... 47

2.B.7.3. Bit implícito .............................................................................................. 48

2.B.7.4. Representación del exponente................................................................... 49

Page 3: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 3 de 91

2.B.7.5. Representación en punto flotante dentro de la computadora .................... 50

2.B.7.7. Formato de representación punto flotante IEEE 754 ................................ 52

2.B.7.8. Rango de la representación IEEE 754. Simple precisión. ........................ 53

PARTE C. CÓDIGOS .................................................................................................. 55

2.C.1. Introducción ..................................................................................................... 55

2.C.2. Definición de Código ....................................................................................... 56

2.C.3. Módulo de un Código ...................................................................................... 60

2.C.4. Códigos de Largo Fijo y Variable .................................................................... 61

2.C.5. Códigos BCD ................................................................................................... 61

2.C.5.1. Códigos pesados........................................................................................ 62

2.C.5.2. ¿Cómo determinar si un Código es Pesado? ............................................. 65

2.C.6. Distancia de un código .................................................................................... 67

2.C.6.1. Códigos Progresivos ................................................................................. 68

2.C.7. Operaciones con códigos ................................................................................. 75

2.C.7.1. Suma en BCD 8421 ................................................................................. 75

2.C.8. Seguridad en la transmisión binaria ................................................................. 80

2.C.9. Códigos detectores y correctores de errores: códigos de Hamming ................ 84

Page 4: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 4 de 91

PARTE A. SISTEMAS DE NUMERACIÓN - Autora: Dra. Ing. Rocío A. Rodríguez -

2.A.1. Introducción

Según la Real Academia Española1 un sistema de numeración puede ser definido como:

“Sistema para expresar de palabra o por escrito todos los números con una

cantidad limitada de vocablos y de caracteres o guarismos”.

“Conjunto de símbolos y reglas utilizados para representar las cantidades”2.

En base a la segunda definición se puede plantear a un sistema de numeración como se

indica en la expresión 2.A.1.

N= (S,R)

N: Sistema de Numeración

S: Conjunto de Símbolos validos dentro de dicho sistema

R: Conjunto de Reglas que permitirán formar números válidos

Expresión 2.A.1. Elementos de un Sistema de Numeración

La expresión 2.A.1. es válida para todo sistema de numeración. Cada sistema de

numeración tendrá un conjunto de símbolos válidos y reglas de formación propias.

Existieron diversos sistemas de numeración mediante los cuales los egipcios, griegos,

babilónicos, chinos, etc. podían representar las cantidades (ver la figura 2.A.1).

Figura 2.A.1. Representación de números egipcios, griegos, babilónicos y chinos3

Cada sistema de numeración utiliza sus propios símbolos. El sistema decimal es el

sistema de numeración adoptado en Argentina sin embargo el sistema Romano está aún

presente para la enumeración de diversos objetos, por ejemplo podría haber sido

utilizado para numerar los capítulos de este libro. El sistema decimal también conocido

1 Definición consultada en: http://www.rae.es

2 Esta última definición es la adoptada por la mayor parte de la bibliografía

3 Esta imagen fue construida en base a un conjunto de ejemplos tomados de la página 12 del libro

[BER74]: Bertha Morris Parker. “La fuente del Saber” Cuarta Edición. Editorial Sygmar S.A., (1974).

Buenos Aires, Argentina

Page 5: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 5 de 91

como sistema Arábigo (“…aunque originario en la India fue introducido en Europa por

los árabes” [BER74]) cuenta con los siguientes símbolos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

El sistema romano utiliza otros símbolos: I, V, X, L, C, D, M (donde cada símbolo vale

1, 5, 10, 50, 100, 500 y 1000 respectivamente). Puede notarse que en el Sistema

Romano no cuenta con una forma de representar el cero, sin embargo en otros sistemas

de numeración como el Maya ya se incorporaba el cero como símbolo.

No sólo son importantes los símbolos sino también las reglas que permiten a través de

esos símbolos construir los números. En el sistema de numeración romana: XI

representa al número 11 mientras que IX representa al número 9. Cada símbolo tiene un

valor de referencia tanto I como X son símbolos válidos del sistema de numeración. Por

otra parte ambos números están compuestos por los mismos símbolos sin embargo el

resultado final es distinto porque se aplica reglas de formación. En el sistema de

numeración romano el símbolo I colocado a la derecha de la X está sumando su valor y

en cambio colocado a la izquierda lo está restando.

2.A.2. Sistemas de Numeración Posicionales y No Posicionales

El sistema de numeración romano es no posicional dado que el valor de cada símbolo

no depende de la posición en la que se encuentra. El número consignado en la tabla 2.1

vale 8 porque al símbolo V que equivale al 5, se le suma tres veces el valor del símbolo

I que equivale al uno 1. No vale más una I que otra dentro de este número.

Tabla 2.A.1. Número Romano

Número Romano V I I I

Valor del Símbolo 5 1 1 1

En decimal el número 5111 vale cinco mil ciento once, puede observarse que también

tiene tres símbolos iguales y que cada 1 no vale lo mismo, sino que su valor se ve

condicionado por la posición que ocupa el símbolo dentro del número. A continuación

se indica cuánto vale cada componente del número tomando en cuenta no sólo el

símbolo sino también su posición (ver tabla 2.A.2).

Tabla 2.A.2. Número Decimal

Número Decimal 5 1 1 1

Valor de cada Símbolo 5000 100 10 1

Todos los sistemas de numeración que se utilizarán a lo largo del presente libro son

posicionales y comparten las reglas de formación del sistema decimal.

2.A.2.1 Características de un sistema posicional

Un concepto importante es el de base de un sistema de numeración. La base de un

sistema de numeración representa a la cantidad de símbolos admitidos por dicho

sistema. El sistema decimal ó de base 10, posee 10 símbolos distintos: 0, 1, 2, 3, 4, 5, 6,

7,8,9; es importante notar que el 10 no es un símbolo del sistema sino que se ha

generado por medio de combinar dos símbolos ya existentes.

Page 6: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 6 de 91

Además todos los sistemas de numeración posicionales a los que se hace referencia

tienen como símbolo inicial: 0. De forma que el sistema en base 2 sólo tendrá dos

símbolos: 0, 1. Si se desea armar un sistema en base 3 bastará con agregar un símbolo al

sistema anterior: 0, 1, 2. De esta manera es posible armar diversos sistemas cuya base

sea menor que 10, utilizando parte de los símbolos de base 10. ¿Qué sucede si se

quieren confeccionar sistemas de base mayor a 10?, en ese caso será necesario utilizar

nuevos símbolos, el sistema Hexadecimal de base 16 utiliza letras para completar los

símbolos faltantes, de este modo podrá utilizarse todos los símbolos del sistema

Decimal (del 0 al 9) aquí hay 10 símbolos distintos y los 6 restantes utilizando las letras

del alfabeto (de la A a la F). La tabla 2.A.3 muestra los símbolos que conforman

distintos sistemas de numeración.

Tabla 2.A.3. Símbolos que conforman los sistemas de numeración

Sistemas SIMBOLOS

Base 2 (Binario) 0 1

Base 3 0 1 2

Base 4 0 1 2 3

Base 8 (Octal) 0 1 2 3 4 5 6 7

Base 9 0 1 2 3 4 5 6 7 8

Base 10 (Decimal) 0 1 2 3 4 5 6 7 8 9

Base 16 (Hexadecimal) 0 1 2 3 4 5 6 7 8 9 A B C D E F

A partir de ahora ante un número 435 debería ser importante preguntarse cual es su

base, sin conocer su base no será posible interpretar de que número se trata. Al ver este

número sin su base es posible saber que el mismo no puede estar escrito por ejemplo en

binario porque dicho sistema de numeración sólo tiene por símbolos válidos el 0 y 1; si

el número tiene símbolos que no pertenecen a un sistema de numeración determinado

dicho número no puede estar escrito en ese sistema de numeración. Por ende se puede

afirmar que el 435 tiene que estar escrito en un sistema de numeración de base 6 ó

cualquiera de base mayor a 6. Motivo por el cual los números estarán acompañados de

su base la cual se indica como un subíndice detrás del mismo (se recomienda resolver el

ejercicio 2.A.1).

Generar números en un determinado sistema de numeración posicional, es muy simple.

En base 10, el primer número posible de escribir es el 0 con un solo dígito el último

número posible de escribir será 9, una vez que se acabaron los símbolos estos pueden

ser combinados con otros generándose el 10, 11 hasta el 99 en el cual se ha utilizado en

ambas posiciones el mayor número del sistema de numeración esto implica que debe

agregarse otro dígito de aquí en más los números van a estar constituidos con tres

dígitos 100, 111 hasta el 999 en el cual en las tres posiciones existentes quedó el mayor

símbolo de la base. Lo mismo puede hacerse en base 3, los primeros números a escribir

serán el 0, 1 y 2; se acabaron los símbolos con lo cual deberá comenzarse a escribir

Ejercicio 2.A.1 - Sugerido

Indique cuales de los siguientes números son inválidos (analizando los símbolos

utilizados):

a) 7A210 b) 5239 c) 2313 d) A9516 e) 8727 f) 4625

Page 7: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 7 de 91

números utilizando dos dígitos desde el 10 al 22; luego se empezará a escribir de a tres

dígitos… De ésta forma se genera la tabla 2.A.4.

Tabla 2.A.4. Construcción de números en sistemas de numeración posicionales Decimal

Base 10

Binario

Base 2 Octal

Base 8 Hexadecimal

Base 16

0 0 0 0

1 1 1 1

2 10 2 2

3 11 3 3

4 100 4 4

5 101 5 5

6 110 6 6

7 111 7 7

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

16 10000 20 10

17 10001 21 11

18 10010 22 12

19 10011 23 13

20 10100 24 14

21 10101 25 15

El armar una tabla, en la cual cada columna muestra los números escritos en distintos

sistemas de numeración, permite establecer equivalencias leyendo cualquier fila de la

tabla 2.A.4, por ejemplo la última: 2110 = 101012 = 258=1516

Al observar la tabla 2.A.4 es importante notar que:

Diez escrito en base Diez es 10

Dos escrito en base Dos es 10

Ocho escrito en base Ocho es 10

Dieciséis escrito en base Dieciséis es 10

Siempre la base de un sistema de numeración posicional expresada en dicho sistema

será 10 (“uno cero”). No se deberá leer como Diez ya que ese 10 valdrá distinto según la

base en la que se haya escrito.

Ejercicio 2.A.2 - Sugerido

Continúe la construcción de la tabla 2.4, realice tres filas más para mostrar que

números representan a los números decimales 22, 23, 24

Page 8: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 8 de 91

Si bien es simple construir la tabla 2.A.4 es importante comenzar a suponer que debe

existir otro mecanismo para poder conocer la equivalencia de un número 914210

expresado en base 8. Para construir una tabla comenzando por el 0 decimal deberán

realizarse luego 9142 renglones para determinar su equivalente en base 8. Esta tabla

sirve tan sólo a modo de ejemplo siempre que los números a representar no sean

grandes. Por otra parte si sólo se aplicara el mecanismo de construir una tabla para

poder realizar una conversión entre bases no sería posible conocer cuántos renglones

serían necesarios construir si el número de origen está en otra base que no sea decimal,

por ejemplo: 21034.

2.A.2.2. Valor Absoluto y Relativo

En los sistemas de numeración posicionales cada símbolo tiene un valor absoluto que es

el valor que tiene asignado el símbolo por ejemplo en decimal el símbolo 9 (vale nueve)

pero también existe un valor relativo que hace que dentro de este número 59 ese

símbolo valga distinto que dentro de este otro 93. En el primer caso vale nueve y en el

segundo caso vale noventa. El valor relativo es el valor que adquiere el símbolo por

estar en una determinada posición dentro del número. Para profundizar esto se propone

rememorar algunas cuestiones del sistema decimal, la tabla 2.A.5 se construyó para

ilustrar cuánto vale un símbolo escrito según en qué posición se encuentre.

Tabla 2.A.5. Sistema de Numeración Decimal - Posiciones4

Unidades de Mil Centena Decena Unidad Decima Centésima Milésima

1000 100 10 1 1/10 1/100 1/100

103 10

2 10

1 10

0 10

-1 10

-2 10

-3

Es posible afirmar que si bien 519 y 915 a pesar de estar formados por los mismos

signos y ambos escritos en base 10, no valen lo mismo. A partir de la tabla 1.3 se

procede a descomponer uno de los números tal como se muestra en la expresión 2.A.2.

51910 = 5 centenas + 1 decena + 9 unidades = 5 x 100 + 1 x 10 + 9 x 1 = 5x102 + 1x10

1 + 9x10

0

Expresión 2.A.2. Descomposición de un número decimal

A partir de lo realizado en la expresión 2.A.2. puede observarse que se partió de un

número de tres cifras y el resultado se puedo expresar por medio de tres términos cada

uno representa una componente del número en la cual está cada símbolo del número

acompañado de la base del sistema de numeración elevada a un exponente que expresa

la posición del símbolo dentro del número. Por lo cual se puede afirmar que: Cada

término ha quedado compuesto por el valor absoluto del símbolo y un valor relativo

(base elevada a un exponente).

En forma general independientemente de los símbolos que conforman al número ó de la

base del sistema de numeración:

Expresión 2.A.3. Teorema fundamental de la numeración

4 Esta tabla muestra de forma práctica como expresar en potencias de 10 las distintas posiciones, ha sido

tomada de http://es.wikipedia.org/wiki/Bit

M

∑ a i x Bi

i = -n

Page 9: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 9 de 91

Siempre se procede a hacer una sumatoria en donde:

a representa a un símbolo dentro del número

B la base del sistema de numeración

i la posición del símbolo dentro del número Es importante notar que cada término de la sumatoria está construido por el producto de

dos componentes ai representa el símbolo (valor absoluto) y Bi es la base del sistema de

numeración elevada a la posición que tiene el símbolo dentro del número (valor

relativo). El teorema fundamental de la numeración permitirá descomponer un número

tal como se muestra en la figura 2.A.2

Figura 2.A.2. –Descomposición de un número

2.A.2.3. Pasaje de una base a base 10

El teorema fundamental de la numeración puede ser aplicado para realizar la conversión

de una base a base 10. En la figura 2.A.3 se plantea el caso de un número en base 4 el

cual quiere expresarse en base 10. Para realizar esta conversión se aplica el teorema

fundamental de la numeración. Nótese que no se está descomponiendo al número ya que

se están expresando los valores en base 10, por ejemplo 4 (valor de la base) está

expresado en decimal ya que el símbolo 4 no pertenece a base 4. La suma de todas las

componentes del número escritas en decimal dará origen a un resultado en decimal.

Figura 2.A.3. – Pasaje de base 4 a base 10

Se quiere aplicar el teorema fundamental de la numeración para el número 519,610

5 1 9 , 6

a2 a1 a0 a -1

2

∑ a i x Bi = a

2 x B

2 +a

1 x B

1 +

a

0 x B

0 + a

-1 x B

-1 = 5 x 10

2 +1 x 10

1+ 9 x 10

0+ 6 x 10

-1

i = -1

Se quiere aplicar el teorema fundamental de la numeración para el número 2103,14

a3 a2 a1 a0 a -1

2 1 0 3 , 1

M 3

∑ a i x Bi = ∑ a i x 4

i (para el caso particular de este ejemplo)

i = -n i = -1

3

∑ a i x 4i = 2 x 4

3 + 1x 4

2 + 0 x 4

1 + 3 x 4

0 + 1x 4

-1 = 128 + 16 + 0+ 3+ 0,25 = 147,2510

i = -1

Page 10: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 10 de 91

Ejercicio 2.A.3 - Resuelto

Se quiere aplicar el teorema fundamental de la numeración para el número

A5C,B116

Resolución:

a2 a1 a0 a -1 a -2

A 5 C , B 1

2

∑ a i x 16i = A x 16

2 + 5 x 16

1 + C x 16

0 + B x 16

-1 + 1 x 16

-2=

i = -2 10 x 162 + 5 x 16 + 12 x 1 + 11 x 1/16 + 1/16

2=

2560 + 80 + 12 + 0, 6875 + 0,00390625=

Resultado = 2652,6914062510

De este modo se puede realizar el pasaje desde un sistema posicional a decimal sin

inconveniente alguno. A continuación en la tabla 2.A.6 se presenta la conversión del

número 10 escrito en diversas bases a decimal.

Tabla 2.A.6. Conversión del número 10 expresado en distintas bases a decimal Valor de Origen Cálculo Resultado

102 1 x 21 + 0 x 2

0 2

103 1 x 31 + 0 x 3

0 3

104 1 x 41 + 0 x 4

0 4

… … …

108 1 x 81 + 0 x 8

0 8

109 1 x 91 + 0 x 9

0 9

…. … …

1016 1 x 161 + 0 x 16

0 16

A partir de la tabla 2.A.6 es posible decir que 10 escrito en una determinada base dará

por resultado el valor de su base expresado en decimal. Del mismo modo podrá decirse

que la base escrita en su base será 10. En forma general: 10B=0 x B0 + 1 x B

1 = B.

Siempre la base de un sistema de numeración posicional expresado en dicho sistema

será 10 (“uno cero”). Esto puede ser observado también en la tabla 2.4. En dicha tabla

se ha sombreado la base escrita en su base a lo largo de todas las columnas.

Para expresar un número hexadecimal (base 16) a decimal (base 10), se procede del

mismo modo. Como puede observarse en el ejercicio 2.3 la base escrita en decimal será

16, cada uno de los símbolos numéricos del 0 al 9 en hexadecimal coinciden con

decimal y a las letras A, B, C, D, E, F se escribirá su equivalencia en decimal (mostrada

en la tabla 2.4). Se propone observar lo realizado en el ejercicio 2.A.3

A continuación se en el ejercicio 2.A.4 se proponen algunos pasajes los cuales requieren

simples cálculos para ser efectuados.

Ejercicio 2.A.4 - Sugerido

Indicar el resultado en base 10 de los siguientes números:

a) 1829 b) 315 c) 1002 d) 1011012

Page 11: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 11 de 91

2.A.2.4. Base 10 a otra base

El método que se empleará para realizar el pasaje de decimal (base 10) a otra base

consiste en5:

1. Tomar la parte entera y dividir sucesivamente por el valor de la base destino

2. Tomar la parte fraccionaria y multiplicar sucesivamente por la base destino

Parte entera

Primeramente se presenta a modo de ejemplo como pasar de decimal a binario, para ello

se toma el número 53510 y se muestra el procedimiento aplicado en la figura 2.4. Se

procede a realizar divisiones que den por resultado un cociente entero se toma el

número origen 535 se lo divide por la base destino 2 y se obtiene por cociente 266 y el

resto arrojado es 0. Al cociente obtenido se lo vuelve a dividir por la base destino y así

sucesivamente. Cabe destacar que a medida que se van a aplicando divisiones el

cociente que será obtenido en cada una de ellas será menor que el obtenido

anteriormente (esto sucederá con todas las bases destinos). En el momento en que el

cociente obtenido es inferior a la base destino originará un próximo cociente en cero de

modo que se habrá finalizado el procedimiento. Se puede notar en la figura 2.4 que al

dividir 2/2 esto da cociente 1 y resto 0. El cociente 1 se somete nuevamente a división

1/2 pero como se busca un cociente entero dará 0 y de resto 1 (destacado en la figura

2.5), a partir de allí todas las divisiones próximas serán 0/2 dando cociente 0 y resto 0,

allí no tiene sentido alguno continuar, dándose por finalizado el procedimiento (parte

sombreada de la figura 2.A.4).

535 2

13 267 2

15 06 133 2

1/ 07 13 66 2

1/ 1/ 06 33 2

0/ 13 16 2

1/ 0/ 8 2

0/ 4 2

0/ 2 2

0/ 1 2

1/ 0 2

0/ 0

Figura 2.A.4. – Pasaje de base 10 a base 2

5 El fundamento de aplicar el método que se describe de forma práctica tiene basamento en el teorema

fundamental de la numeración presentado previamente. La demostración formal de la aplicación de dicho

teorema que da por origen la aplicación de este método práctico se encuentra en diversos libros entre ellos

[MAN98]

Page 12: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 12 de 91

El resultado de pasar 53510 a base 2 se consigna tomando todos los restos obtenidos en

forma inversa (comenzando por el 1 destacado en la figura 2.4 último resto significativo

obtenido): 1000010111 cabe destacar que si se hubiesen considerado los ceros arrojados

como otros restos para conformar el resultado este hubiese sido 001000010111 (los

ceros delante de la cifra entera no aportan valor siendo el mismo número que el

obtenido sin haberlos considerado).

Parte fraccionaria

Todo número podrá analizarse descomponiéndose en su parte entera y en su parte

fraccionaria, por ejemplo: 535,28 será: 535 + 0,28. Este número en base 10 para ser

expresado en otra base será necesario realizar primeramente la conversión de la parte

entera del mismo (en la figura 5.2 se muestra la conversión a base 2) y luego se añadirá

a dicho resultado la conversión resultante con la parte fraccionaría (lo cual se explicará

a continuación).

CASO 1: “Truncar las cifras fraccionarias”

535,2810: Se calculará 0,28 en base 2, para lo cual se multiplica sucesivamente por 2

(como se muestra en la figura 2.5). Cada cuenta efectuada estará compuesta por una

parte entera y una parte fraccionaria, la parte entera será la que conformará cada uno de

los dígitos del resultado a obtener. Puede observarse que 0,28 x 2= 0,56 la parte entera

es 0 y sirve para conformar el resultado, se continua con la parte fraccionaria el proceso

(restándose previamente la parte entera) siempre cada multiplicación tendrá por primer

factor 0,ParteFraccionaria del resultado anterior. Es importante notar que la segunda

cuenta ha dado por resultado 1,12 para la multiplicación siguiente se tomará 0, 12

0,28 0,56 0,12 0,24 0,48 0,96 …

x 2 x 2 x2 x2 x 2 x2 …

0,56 1,12 0,24 0,48 0,96 1,92 …

Figura 2.A.5. – Pasaje de base 10 a base 2

Cada multiplicación arroja un resultado del cual se tomará en cuenta la parte entera del

mismo (digito subrayado en la figura 2.A.5). Se han efectuado 6 multiplicaciones podría

haberse continuado, el interés de continuar dependerá de cuantos dígitos fraccionarios

requiera el resultado.

Por lo tanto:

0,2810 será 0,0100012

535,2810 será 1000010111,0100012 (se le añade la parte entera calculada anteriormente)

Ejercicio 2.A.5 - Sugerido

Verifique que sea correcto lo realizado en el procedimiento anterior.

Se propone tomar el resultado obtenido en binario 1000010111, pasarlo a decimal y

corroborar que de por resultado el número de partida 53510

Page 13: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 13 de 91

A partir de este ejemplo se propone analizar el ejercicio 2.A.6 el cual está resuelto a

continuación.

Ejercicio 2.A.6 - Resuelto

Verifique el resultado obtenido en la parte fraccionaria (0,28)

Cuáles son las conclusiones que puede alcanzar a partir de dicho resultado

Resolución:

0,2810 = 0,0100012

0, 0 1 0 0 0 1

1/2 1/4 1/8 1/16 1/32 1/64

1/4 + 1/64 =0,25 + 0,015625 = 0,265625

El resultado obtenido no fue 0,28 esto es causado por el truncamiento efectuado, el no

haber considerado todas las cifras en la figura 2.5 (multiplicaciones siguientes no

efectuadas), a continuación se muestra sombreadas las cifras fraccionarias calculadas

previamente, calculándose tres cifras más. Esto permitirá comprobar que el considerar

el peso de dichas cifras harán que el número final será mayor más próximo al valor

esperado.

0,28 0,56 0,12 0,24 0,48 0,96 0,92 0,84 0,68

x 2 x2 x2 x2 x2 x2 x 2 x 2 x 2

0,56 1,12 0,24 0,48 0,96 1,92 1,84 1,68 1,36

0, 0 1 0 0 0 1 1 1 1

1/2 1/4 1/8 1/16 1/32 1/64 1/128 1/256 1/512

Al valor obtenido previamente 0,265625 calculado previamente con las cifras

sombradas se le deberá añadir el proveniente de las tres cifras contempladas

adicionalmente.

= 0,265625 + 0,0078125 + 0,00390625 + 0,001953125 =

= 0,265625 + 0,013671875= 0,279296875

Si se mostraran en el cálculo final tres cifras fraccionarias considerando únicamente

las multiplicaciones sombreadas sería: 0,265 en cambio realizando 3 multiplicaciones

más sería: 0,279 notablemente más próximo a 0,28

Page 14: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 14 de 91

CASO 2: “Parte Fraccionaria llega a cero”

535,2510: Se calculará 0,25 en base 2, para lo cual tal como se muestra en la figura 2.A.6

se multiplica sucesivamente por 2.

0,25 0,50 0,00 0,00 …

x 2 x 2 x2 x2 …

0,50 1,00 0,00 0,00 …

Figura 2.A.6. Pasaje de base 10 a base 2

En la figura 2.A.6 se muestra una serie de multiplicaciones en la segunda cuenta se

obtuvo por resultado 1,00 por lo cual la cuenta siguiente será 0,00 x 2 obviamente el

resultado será 0 a partir de ese momento debe advertirse que no tiene sentido continuar

con el cálculo (parte resaltada en la figura 2.7).

Por lo tanto:

0,310 será 0,010002 (Los ceros detrás de la parte fraccionaria no son significativos)

535,310 será 1000010111,012 (se le añade la parte entera calculada anteriormente)

CASO 3: “Parte Fraccionaria Periódica”

525,310: Se calculará 0,3 en base 2, para lo cual tal como se muestra en la figura 2.A.7 el

procedimiento realizado.

0,3 0,6 0,2 0,4 0,8 0, 6 …

x 2 x 2 x2 x2 x 2 x2 …

0,6 1,2 0,4 0,8 1,6 1,2 …

Figura 2.A.7. – Pasaje de base 10 a base 2

En la figura 2.A.7 puede observarse que la segunda cuenta efectuada se repite a lo largo

del procedimiento. Esto causará que se repitan también las siguientes cuentas a efectuar,

por lo cual no es necesario continuar el procedimiento. Debe advertirse que el resultado

es periódico: 01001

Por lo tanto:

0,310 será 0,010012

535,310 = 1000010111,01001 2

Ejercicio 2.A.7 – Sugerido

Expresar el número 163,687510 en Base 16

Page 15: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 15 de 91

Base 10 como intermediaria

Aplicando lo visto anteriormente será posible expresar un número que esté proveniente

en una base origen a una base destino (cualquiera sean estas bases). Por ejemplo: Se

cuenta con un número en base 5 y quiere pasarse a base 8, para ello se aplicarán los dos

métodos vistos:

1) Base origen: 5 -> Base destino: 10

2) Base origen: 10 -> Base destino: 8

Es decir cuando ni la base origen ni la destino es decimal deberá utilizarse la base 10

como intermediaria realizándose dos pasajes (se recomienda realizar el ejercicio 2.A.8).

2.A.3. Pasaje Directo

El pasaje directo permite en forma rápida poder expresar un número que se encuentra en

una determinada base a otra. Es aplicable cuando la base origen y destino se relacionan

por medio de una potencia entera y positiva. En la tabla 2.A.7 se muestran algunas

bases entre las que es posible aplicar pasaje directo.

Tabla 2.A.7. Bases entre las que es posible aplicar pasaje directo

Base Origen Base Destino Relación

2 4 22 = 4

3 9 32 = 9

4 16 42=16

Es importante notar que si bien entre la base 8 y 16 no hay pasaje directo (ya que no

existe potencia entera positiva la cual permita elevar al número 8 y obtener por

resultado 16) sería posible realizar pasaje directo de base 8 a base 2 y luego otra vez

pasaje directo de base 2 a 16.

Se recomienda realizar el ejercicio 2.A.9 en base a la definición de pasaje directo.

2.A.3.1. Caso 1: Base Origen mayor que la Base Destino

Si se desea expresar al número 56,8239 en base 3, primeramente se analizará si es

posible realizar pasaje directo, para lo cual se toma la base menor 3, luego surge la

pregunta ¿A qué valor debe elevarse dicha base para alcanzar a la otra base? 32 = 9 esto

deberá leerse: por cada 2 símbolos en base 3 deberá escribirse 1 en base 9. En la tabla

Ejercicio 2.A.8 – Sugerido

Expresar el número 342,15 en base 8

Ejercicio 2.A.9 – Sugerido

Indique en qué casos puede aplicarse pasaje directo

a) Base 8 a base 5 b) Base 2 a Base 16 c) Base 2 a Base 8

Page 16: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 16 de 91

2.A.8 se han anotado todos los símbolos que componen a la base 9 y luego sus

equivalentes en base 3, es posible notar que con dos símbolos en base 3 se han podido

expresar todos los símbolos válidos de base 9. Es importante destacar que todos los

números en la segunda columna deben indicarse con dos dígitos por ello se ha

antepuesto un cero en las tres primeras filas.

Tabla 2.A.8. Tabla de símbolos en Base 9 y su equivalencia en Base 3

Base 9 Base 3

0 00

1 01

2 02

3 10

4 11

5 12

6 20

7 21

8 22

El proceso consistirá en sustituir cada uno de los símbolos en base 9 provenientes del

número original por dos en base 3 (localizándolos en la tabla 2.8), tal como se muestra

en la figura 2.A.8.

5 6 , 8 2 3

12 20 , 22 02 10

Figura 2.A.8. Pasaje Directo entre base 9 a base 3

2.A.3.2. Caso 2: Base Origen menor que la Base Destino

Si se desea expresar el número 210,13 a base 9 también será posible aplicar pasaje

directo siendo la relación entre las bases: 32 = 9. Cabe aclarar que en este caso se cuenta

con cada uno de los símbolos del número en base 3 y por cada 2 de ellos deberán

escribirse un símbolo en base 9.

En este caso se quiere agrupar de a dos un número con tres cifras en la parte entera, de

forma que será necesario agregar un cero (que no altere el valor del número) para que

puedan conformarse dos grupos en los cuales haya dos símbolos en cada uno de ellos.

Lo mismo sucede con la parte fraccionaria como hay un sólo dígito será necesario

agregar un cero para poder conformar un grupo de dos dígitos. En la figura 2.A.9 se

muestran dos ceros agregados, si se observa el número resultante este será 2100,01 el

cual difiere del número original 210,1 ha cambiado el valor con lo cual de aplicar el

pasaje se estaría expresando otro número en base 9 y no el deseado.

2 1 0 0 , 0 1 2100,01

Figura 2.A.9. Agrupamiento inválido

Page 17: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 17 de 91

Para no alterar el valor al agregar ceros en un número será necesario que en la parte

entera se inserten delante (a la izquierda) y en la parte fraccionaria los ceros se agreguen

detrás (a la derecha), esto se observa fácilmente en decimal 5,2 es lo mismo que escribir

05,20 estos ceros agregados no aportan valor en el numero escrito.

A continuación en la figura 2.A.10 se muestra el agrupamiento correctamente realizado,

el número que ha quedado luego de agregar ceros es equivalente al de partida. Si se

quiere podría comenzarse a agrupar tomando en cuenta el sentido indicado por medio de

flechas en la figura 2.10 y luego agregar los ceros necesarios para conformar el último

grupo. Luego de agrupar correctamente tan sólo queda escribir cada grupo a que dígito

se corresponde en base 9, lo cual puede realizarse observando la tabla 2.8.

0 2 1 0 , 1 0 0210,10

2 3 , 3

Figura 2.A.10. Pasaje Directo entre base 3 a base 9

Se propone realizar el ejercicio 2.A.10 para afianzar el método de pasaje directo.

2.A.3.3. Importancia de aplicar pasaje directo

Es importante aplicar pasaje directo, siempre que sea posible, debido a que el tiempo

que insume aplicar pasaje directo es inferior al invertido utilizando la base 10 como

intermediaria. Cuando se utiliza a la base 10 como intermediaria es posible que sea

necesario realizar una gran cantidad de cálculos matemáticos y en caso de no considerar

todas las cifras fraccionarias en los cálculos intermedios el resultado final será

aproximado. En cambio esto último no ocurre al aplicar pasaje directo.

Por un momento es importante pensar los distintos pasos a realizar sin aplicar pasaje

directo para expresar el número en hexadecimal A7CB8,3CD116 a base 4 y los cálculos

matemáticos que serían necesarios realizar. Para comparar con lo planificado utilizando

como intermediaria a la base 10, se propone resolver aplicando pasaje directo dicho

ejercicio planteado a continuación.

Ejercicio 2.A.10 - Sugerido

Se proponen aplicar pasaje directo para:

1) 10110111,1012 A BASE 16

2) Corroborar el resultado obtenido en el ítem anterior

3) 1234 A BASE 16

Ejercicio 2.A.11 - Sugerido

Expresar el número A7CB8,3CD116 en base 4

Page 18: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 18 de 91

2.A.4. Operaciones Aritméticas

Todos los sistemas de numeración posicionales permiten realizar operaciones

aritméticas. Las reglas aprendidas desde el colegio primario serán aplicadas en todos los

sistemas de numeración posicionales. Es importante advertir que no es posible sumar

cantidades que no expresen una misma cosa (por ejemplo: 7 caballos + 5 libros), es

decir que no será posible tomar un número en base 6 e intentar sumarle un número en

base 8 (para esto será necesario previamente expresarlos en una misma base). Del

mismo modo si se suman dos números en base 6 el resultado deberá estar en base 6 (por

ejemplo: si se suman 7 naranjas + 3 naranjas, el resultado no podrá ser 10 peras).

2.A.4.1. Suma

Para realizar una suma primeramente se deberán encolumnar los números a sumar, tal

como se muestra en la figura 2.11.

1 6 4 8

+ 4 1 5 8

6 0 1 8

Figura 2.A.11. Suma en base 8

Se resolverán sumas en distintas bases, aplicando las mismas reglas y metodología que

para el sistema decimal, sólo será necesario analizar el resultado obtenido al sumar cada

columna, si el resultado obtenido es un símbolo perteneciente a la base en la cual se está

sumando se procederá a escribirlo, caso contrario deberá ser convertido expresándolo en

la base destino. A continuación se realizarán a modo de ejemplo algunas sumas en

distintas bases explicándose el procedimiento:

Base 8 (Octal): Si se quiere sumar dos números en base 8 deberá considerarse que símbolos pueden escribirse en dicha base de forma que en cada columna no

se podrá escribir un símbolo no perteneciente a base 8. El cálculo se pensará en

decimal y siempre que el resultado del mismo en decimal sea a lo sumo igual

que 7 podrá ser escrito quedando ya expresado en base 8. Es importante tomar

en cuenta que los números 0,1,2,3,4,5,6,7 coinciden en ambas bases cuando en

decimal se consigna el 8 en base 8 se deberá escribir 10 (la base escrita en su

base se escribe 10), a partir de allí comenzarán a cambiar la forma de escribir los

valores.

Para resolver la suma propuesta en la figura 2.A.11 se comenzará sumando la

columna de menor peso: 4 + 5 (columna sombreada en la figura 2.A.3), en

decimal el resultado sería 9 como supera al 7 (máximo valor posible de escribir

en base 8) no podrá escribirse sin ser previamente expresado en base 8.

Entonces se podrá pensar que si 8 en base 8 se escribe 10, entonces 9 será 11,

con lo cual pone un 1 en la columna que se ha sumado y se acarrea un 1 en la

columna siguiente. Luego se procede a sumar la columna siguiente en donde

ahora deben sumarse 3 valores 1+6=7 y luego 7+5=12. Se procede del mismo

modo pensando cómo se escribe el 1210 en base 8. Podría pensarse desde el 8 al

12 toda la sucesión de valores: el 8 en base 8 se escribe 10, con lo cual el 9 será

Page 19: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 19 de 91

11, el 10 será 12, el 11 será 13 y el 12 será 14. Es importante notar que cuanto

mayor es el número resultante esto se hace más extenso. Sumando en base 8

podría tenerse en una columna 7+ 7 siendo el 7 el valor más grande en base 8 a

su vez podría haber un acarreo de una columna anterior con lo cual en decimal

se tendría el valor 15, comienza a ser arduo el trabajo de imaginar a partir del 8

como escribir el número 15. De forma que se recomienda aplicar el método de

conversión entre bases el 1210 -> A base 8. Solo habrá parte entera para convertir

con lo cual se toma la parte entera 1210 y se la divide sucesivamente por la base

destino 8; con lo cual será 12 / 8 = 1 y resto 4. Tal como se indicó anteriormente

el resultado será 148 con lo cual se anotará el 4 en la columna sumada y se

procederá a acarrear un 1 a la columna siguiente. Finalmente se suma la última

columna (1+1+4) dando por resultado 6, símbolo que se corresponde con la base

8 no necesita ser convertido. Ver Figura 2.A.12.

1 1

1 6 4 8

+ 4 5 5 8

6 4 1 8

Figura 2.A.12. Suma en octal

Base 2 (Binario): Se plantea en la figura 2.A.13 el caso de la de 4 números de distinta cantidad de dígitos los cuales han sido previamente alineados.

1 1 2

1 0 1 0 2

1 0 0 1 2

+ 1 1 0 2

1 1 1 0 0 2

Figura 2.13. Suma en binario

Se propone realizar la suma en decimal por columna y luego pensar como se

expresa dicho resultado en binario (en binario solo será válido el valor arrojado

por una columna que de por resultado 0 ó 1, todos los resultados restantes

deberán ser convertidos a binario). En la primer columna sombreada en la figura

2.14, se suma 1+0+1+0=2 en decimal luego se debe pensar como se escribe el 2

en base 2 (la base escrita en su base es 10), con lo cual se anota el 0 en esa

columna y se acarrea un 1 a la columna siguiente. En la columna siguiente se

deberá sumar el acarreo a los símbolos propios de la columna: 1+(1+1+0+1)= 4,

el 4 decimal se escribe 100 en binario, se anota 0 en la columna y se acarrea 10 a

la columna siguiente (observe que en este caso el acarreo consta de dos dígitos).

Nótese que ese 10 surge de un acarreo de una operación en base 2 no representa

al número diez decimal sino que representa al dos decimal, con lo cual la

siguiente columna a sumar será: 2+(0+0+1)= 3 que se escribe 11 con lo cual se

Ejercicio 2.A.12 - Sugerido

Convierta a decimal los dos números que fueron sumados en la figura 2.A.12 (1648 y

4558), convierta también a decimal el resultado arrojado (6418), luego realice la suma en

decimal y compruebe si el resultado decimal concuerda con el equivalente decimal a

6418.

Page 20: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 20 de 91

anota el 1 en dicha columna y se acarrea el otro 1 a la columna siguiente. En la

última columna a sumar a quedado 1+(1+1)=3 que se escribe 11, se anota un 1

en esa columna y se acarrea un 1 a la siguiente. Ver Figura 2.A.14.

1 1 10 1

1 1 2

1 0 1 0 2

1 0 0 1 2

1 1 0 2

1 1 1 0 0 2

Figura 2.A.14. Suma en binario

Base 3: Se desea sumar los números 1203 + 2113. En la figura 2.A.15 se muestra directamente la resolución de dicha operación. Puede verse que al sumar la

primera columna 0+1=1 y eso se anota directamente; en la columna siguiente

2+1=3 que debe expresarse en base 3, siendo el resultado 10 con lo cual se anota

el 0 y se acarrea un 1 a la columna siguiente. La última columna a sumar: 1+1+2

= 4, lo que se escribe como 11, se anota un 1 en esa columna y se acarrea un 1 a

la siguiente.

1 1

1 2 0 3

+ 2 1 1 3

1 1 0 1 3

Figura 2.A.15. Suma en base 3

Puede observarse que las sumas se han realizado sin requerir de ningún tipo de tabla, sin

embargo a fines didácticos es posible construir una tabla en donde se presenten todos

los símbolos de la base y además los resultados que arrojarían al sumarse entre si, por

ejemplo en base 3 los símbolos posibles serían: 0, 1, 2.

En la tabla 2.A.9 se han volcado los símbolos posibles en base 3 tanto para rotular las

filas como para rotular las columnas. De forma que la celda señalizada con un *

contendría el valor correspondiente a la suma de 2+1 escrito en base 3.

Tabla 2.A.9. Tabla vacía de suma en base 3

+ 0 1 2

0

1

2 *

La tabla 2.A.10 muestra como quedaría completa la tabla de suma en base 3.

Tabla 2.A.10. Tabla resultante de la suma en base 3

+ 0 1 2

0 0 1 2

1 1 2 10

2 2 10 11

Page 21: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 21 de 91

Es importante observar que:

la primer fila en la que se ha sumado 0 + un valor, queda el mismo valor a lo

largo de la fila.

la suma es conmutativa de forma que 2+1 da el mismo resultado que uno 1+2

cuando se intenta sumar 2+1 dando 3 en decimal dicho valor no pude escribirse como tal ya que el 3 no es un símbolo válido en base 3, deberá anotarse 10.

2.A.4.2. Resta

Al igual que para la suma será necesario contemplar todas las reglas que se aplican en

decimal para realizar una resta. No es necesario explicar cómo se resta en decimal: 26 -7

sin embargo es importante partir de los detalles que encierra esta cuenta para poder

luego ocuparse en restas en otras bases.

En el primario la maestra explicaba en el pizarrón, más o menos lo siguiente: “No puedo

restar 6 con el 7 entonces le pide al compañero, el compañero tiene 2 queda en 1 y le

pasa uno a la columna que le pidió prestado”. Acá surgen un gran interrogante (ver

figura 2.16), porque si se le pidió uno al compañero y la columna que lo pidió tenía 6 no

queda en 7 sino en 16, porque el 1 se anota delante del número. Ver Figura 2.A.16.

1

2 16

- 7

Figura 2.A.16. Método de resta

Sucede que el número 26 está compuesto por 2 decenas y 6 unidades. Al quitar una

decena se está sacando 10 unidades las cuales pueden sumarse a la columna de las

unidades y el numero seguirá representando el mismo valor.

2 decenas + 6 unidades ≡ 1 decena + 16 unidades

Esto explica porque siempre es posible quitarle a una columna y otorgarle lo

equivalente a lo quitado a otra columna de menor peso.

Podría entonces pensarse que si saca 1 decena se le otorga a la columna de las unidades

10, si se saca 1 centena se le otorgan 10 a la columnas de las decenas. Dada esta

explicación es posible comprender que éste 10 que reciben las columnas, en las que no

era posible efectuar la resta, se debe a que se está trabajando en decimal.

Cada vez que no se puede efectuar la resta se quita de la columna inmediata 1 base y

esta entrega a la que lo solicito 1 base. Es decir en base 3, cada vez que se quite 1 la

columna anterior recibirá 3. Se presenta a continuación algunas restas:

Resta en base 3: Se desea realizar 2113 -1203 (siendo el 211 el minuendo y el

120 el sustraendo). En la figura 2.A.17 se muestra el cálculo a realizar, al restar

la primer columna 1-0 el resultado es 1, la siguiente columna no puede ser

restada no es posible a 1 quitarle 2 con lo cual se recurre a la columna siguiente

que tiene 2 y queda en 1, la columna anterior recibe la base que es 3 que escrita

en su base se consignará como 10, la cuenta a resolver entonces será 3+1= 4 y

ese valor menos 2, el resultado de la columna será entonces 2, finalmente en la

Page 22: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 22 de 91

última columna ha quedado 1-1=0 (ese cero podría no anotarse ya que los ceros

a la izquierda de la parte entera de un número no tienen valor siendo lo mismo

213 que 0213). Ver Figura 2.A.17.

1 310

2 1 1 3

- 1 2 0 3

0 2 1 3

Figura 2.A.17. Resta en base 3

Sólo en está primer resta se aclarará el valor de la base en decimal (en la

segunda columna de la cuenta) para las futuras restas solo se pondrá 10 ya que la

base escrita en su base es 10, y el lector deberá recordar que eso en decimal se

leerá como el valor de la base en cuestión.

Resta en base 16 (hexadecimal): Se desea restar E7C2 – AF1B ambos números expresados en hexadecimal, tal como se indica en la figura 2.A.18.

E 7 C 2 16

- A F 1 B 16

3 8 A 7 16

Figura 2.A.18. Resta en hexadecimal

Para efectuar la cuenta pensando en decimal será necesario tener presente el

valor de cada una de las letras en decimal (tanto decimal como hexadecimal

coinciden del 0 al 9, luego cuando en decimal se escribe 10 en hexadecimal se

escribe la A y así sucesivamente, lo cual se ha dejado anotado junto a la cuenta a

realizar – ver figura 2.A.19).

En la figura 2.A.19 se presenta la resolución de la resta en la primera columna se

desea realizar 2- B, como el equivalente decimal de B es mayor que dos no es

posible efectuar la resta siendo necesario descontarle uno en la columna

siguiente, donde se encuentra la letra C quedando en B y la columna a restar

recibe 16 (la base, que se escribe 10). La primer columna entonces se resuelve

pensándose en decimal: (16 + 2) - 11= 7. La columna siguiente a quedado como:

B-1 lo cual da A. Luego es necesario realizar 7-F siendo F mayor a 7, no es

posible, por lo cual es necesario descontarle a la E uno, quedando en D y se le

otorga una base a la columna en cuestión. La columna a restar a quedado:

(16+7)-15=8. Finalmente la última columna a restar a quedado D-A siendo 13 –

10= 3

A 10

B 11

C 12 D 10 B 10

D 13 E 7 C 2 16

E 14 - A F 1 B 16

F 15 3 8 A 7 16

Figura 2.A.19. Resta en hexadecimal

Page 23: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 23 de 91

Ejercicio 2.A.13 - Sugerido

En toda resta A-B=C, puede decirse que A=C+B; de modo que para la resta anterior

realizada E7C2 – AF1B = 38A7 es posible afirmar que si dicha cuenta ha sido

calculada correctamente deberá verificarse que 38A7 + AF1B será igual a E7C2.

Realice dicha suma y compruebe que el resultado arrojado por la misma es E7C2.

Es importante destacar que así como puede ser verificada una resta en decimal también

podrá verificarse una resta realizada en cualquier otra base. Se aconseja realizar el

ejercicio 2.A.13 que se propone a continuación.

2.A.4.3. Multiplicación

Para comenzar se plantea un ejemplo sencillo, se desea realizar: 122 x 2 (ambos

números expresados en base 3).

Se comienza por la primera columna pensando en decimal: 2x2=4; lo que daría por

resultado 11 escrito en base 3. La siguiente columna tiene un 2, 2x2=4 pero a este 4

debe sumarse el acarreo de la columna anterior entonces queda 4+1=5 que en base 3 se

escribe 12, se escribe 2 y se acarrea el 1 a la siguiente columna. Finalmente la última

columna será (2x1)=2, a este resultado debe sumarse el carry de la columna anterior

quedando 2+1=3, que en base 3 se escribe 10, se pone el 0 en esa columna y se acarrea

1 a la siguiente. La figura 2.A.20 muestra la multiplicación explicada.

1 1

1 2 2 3

x 2 3

1 0 2 1 3

Figura 2.A.20. Multiplicación en base 3

Distinto es el caso en el que se desee multiplicar un número por otro que tenga más de

un dígito, en cuyo caso será necesario realizar además una suma. Dicha suma será

realizada en la base en la cual se esté operando. En la figura 2.A.21 se presenta un

producto realizado en base 5 en el cual fue necesario realizar una suma en base 5 para

poder expresar el resultado.

1 2

1 2 4 5

X 3 2 5

3 0 3

+ 4 3 2 .

1 0 1 2 3 5

Figura 2.A.21. Multiplicación en base 5 – ejemplo 1

Puede observarse que las multiplicaciones se han realizado sin requerir de ningún tipo de tabla, sin embargo a fines didácticos es posible construir una tabla en donde se

presenten todos los símbolos de la base y además los resultados que arrojarían al

multiplicarse entre si, por ejemplo en base 3 los símbolos posibles serían: 0, 1, 2.

Page 24: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 24 de 91

Tabla 2.A.11. Tabla vacía de multiplicación en base 3

x 0 1 2

0

1

2 *

En la tabla 2.A.11 se han volcado los símbolos posibles en base 3 tanto para rotular las

filas como para rotular las columnas. De forma que la celda señalizada con un *

contendría el valor correspondiente a la producto de 2x2 escrito en base 3. La tabla

2.A.12 muestra como quedaría completa la tabla de multiplicación en base 3.

Tabla 2.A.12. Tabla resultante de multiplicación en base 3

x 0 1 2

0 0 0 0

1 0 1 2

2 0 2 11

Es importante observar que:

La primer fila en la que se ha multiplicado 0 x cada uno de los valores de la columna, quedará 0 a lo largo de la fila. Lo mismo sucede en la primera

columna.

La segunda fila requiere realizar 1 x cada uno de los valores de la columna,

dando por resultado el valor de la columna.

Finalmente se realiza el producto de la última fila en donde 2 x 2 es 4 en decimal dicho valor no pude escribirse como tal ya que el 4 no es un símbolo válido en

base 3, deberá anotarse 11.

2.A.4.5. División

Como el resto de las operaciones aritméticas presentadas la división se realizará en

todos los sistemas posicionales aplicando las mismas reglas que en el sistema decimal.

Se presenta el caso de una división en decimal, 19/5 en donde 19 es el dividendo y 5 es

el divisor. El cociente da 3 y el resto da 4. Esto no requiere esfuerzo alguno debido a

que el lector está acostumbrado a realizar operaciones en base 10. Sin embargo resulta

necesario aplicar los mecanismos de resolución utilizados en decimal para resolver

divisiones en otras bases.

Se propone a continuación dos formas de resolver la división:

1. Por tanteo: Consiste en analizar por qué numero debe multiplicarse al divisor

para obtener un resultado lo más cercano al dividendo sin sobrepasarlo

(5 x ? ≤ 19). De todos los números que cumplen con la condición el 3 es el que arroja un resultado más próximo, dicho valor es el cociente de la división y el

resto será la diferencia entre el dividendo y el resultado al realizar la productoria

entre el divisor y el número escogido: 19 – (5 x 3) = 19 – 15 = 4.

2. Restas Sucesivas: Permite ver cuántas veces el divisor cabe en el dividendo.

¿Cuántas veces es posible restarle 5 al número 19? Si se realizan las restas

sucesivas se verá que la cantidad de veces es 3 (cociente de la división) y en la

última resta quedan 4 unidades (resto de la división)

Page 25: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 25 de 91

En la figura 2.A.22 se presentan ambos métodos en la resolución de la división 19/5 en

base 10.

19 5 19 5 19

-15 3 4 3 -5

4 14

-5

Por tanteo Restas Sucesivas 9

Cociente 3 Cociente 3 -5

Resto 4 Resto 4 4

Figura 2.A.22. División en base 10 - Métodos

La explicación anterior es algo trivial cuando se trata del sistema de numeración

decimal, ¿porque se explicará en este libro cuentas del tipo 10/3 si es evidente que el

resultado será 3 y el resto 1?. Sin embargo ¿será tan evidente el resultado si estos

números estuviesen expresados en base 7?

A continuación se aplicará los métodos de división para resolver una división en base 7,

tomando como ejemplo 10/3:

1. Por tanteo será necesario calcular el cociente probando por número

multiplicar a 3 para aproximarse a 10 sin sobrepasarlo. Pero este producto

será en base 7. Por lo cual resulta imprescindible comenzar a probar: 3 x 1=

3; 3 x 2= 6; 3x 3= 9 en decimal pero deberá ser expresado en base 7 con lo

cual 3 x 3=12 (ver figura 2.23). De este modo el cociente será 2 y el resto

surge de realizar 10 – 6; pero es necesario recordar que esta operación

también debe efectuarse en base 7. Ver Figura 2.A.23.

10 3 3 3 3

- 6 2 x 1 x 2 x3

1 3 6 12

Por tanteo

Cociente 2

Resto 1

Figura 2.A.23. División en base 7- Por tanteo

2. Restas sucesivas: En la figura 2.A.24 se procede a realizar la misma división

por medio de restas sucesivas. Cabe destacar que dichas restas deberán

efectuarse en base 7. Pudo efectuarse 2 restas (resultado del cociente) y en la

última de ellas se produce un resto de 1.

10 3 10

1 2 - 3

4

Por restas sucesivas -3

Cociente 2 1

Resto 1

Figura 2.A.24 División en base 7- Restas sucesivas

Ambos métodos son válidos pudiéndose elegir uno u otro en forma indistinta.

Page 26: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 26 de 91

2.A.5. Utilidad del Sistema Binario

De los sistemas de numeración presentados en este capítulo es el binario aquel que

cobrará fundamental importancia para los siguientes capítulos. El sistema binario es el

utilizado para almacenar información en una computadora.

En electrónica digital se utilizan dispositivos y circuitos en los que sólo existen dos

estados posibles de información. Por este motivo, cualquier dato deberá ser

representado como una secuencia de dos valores, que pueden considerarse como sí – no,

abierto – cerrado, encendido – apagado (on – off) o cualquier otra pareja de símbolos.

Por motivos prácticos se adoptan los símbolos 0 y 1, cuya sucesión proporciona

números binarios más fáciles de tratar que las otras secuencias mencionadas, mediante

los cuales es posible realizar operaciones aritméticas y lógicas. Un número binario, por

ejemplo el 10101, está compuesto por una determinada cantidad de dígitos binarios

denominados Bit (Binary digit), en este caso el número está constituido por 5 bits.

Sin embargo en informática no siempre se habla de bits. Sucede que en algunas

ocasiones la cantidad de bits es tan grande que es conveniente expresar dicha cantidad

de otro modo. Una persona que va a comprar un pendrive (medio de almacenamiento

extraible) seguramente no se le ocurriría solicitarlo pidiendo que tenga una capacidad de

536.870.912 bits, probablemente será más común escuchar que la capacidad de dicho

dispositivo es de 64 GB. Lo mismo ocurre cuando se solicita un Kilo de pan y no 1.000

gramos. Si bien en matemática el Kilo es equivalente a 1.000 en informática resulta

conveniente expresar todo por medio de potencias de dos siendo 210

= 1024 el valor más

próximo a 1.000 por ello recibe el nombre de Kilo.

En la tabla 2.A.13 se presentan las equivalencias y denominaciones. La unidad más

pequeña es el bit (un bit podrá ser un 0 ó un 1), un conjunto de 4 bits recibe el nombre

de Nigle. Un conjunto de 8 bits se denominan Byte, de forma que ½ Byte = 1 Nigle. A

partir del Byte se conforman el resto de las unidades 1024 Bytes = 1 KByte y a partir de

allí cada 1024 (210

) existe otra unidad. Para facilitar la comprensión de las unidades, se

utiliza una aproximación entre las potencias de 2 y las de 10, ya que 210

= 1024 es

aproximadamente 1.000 = 103.

Tabla 2.A.13. Nombres de las unidades en función de la cantidad de bits y bytes

Unidad Abre-

viatura

Equivalencia

entre unidades

Cantidad real de Bytes en

Potencias de 2

Cantidad aproximada de

Bytes en Potencias de 10

Bit 1 bit

Nibble 4 bits

Byte B 8 bits

Kilo K 1024 Bytes 210

103

Mega M 1024 KBytes 220

106

Giga G 1024 MBytes 230

109

Tera T 1024 GBytes 240

1012

Peta P 1024 TBytes 250

1015

Exa E 1024 PByte 260

1018

Zetta Z 1024 EByte 270

1021

Yotta Y 1024 ZByte 280

1024

Page 27: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 27 de 91

Se recomienda observar el ejercicio 2.A.14 propuesto a continuación utilizando la tabla

2.A.13

Ejercicio 2.A.14 - Resuelto

¿Cuántos bits representan 16 ZB?

Exprese el resultado por medio de una potencia de 2

Resolución:

16 ZB= 16 x (210

x 210

x 210

x 210

x 210

x 210

x 210

x 8) bits

“Producto de potencias de igual base” se suman los exponentes de forma que podría

expresarse el cálculo anterior como:

16 ZB = (16 x 270

x 8) bits

El número 8 que se ha incluido para poder pasar la cantidad de Bytes a bits, también

se puede expresar como 23, incluso 16 también podría ser expresado como 2

4.

16 ZB = (16 x 270

x 8) bits = (24 x 2

70 x 2

3) Bits = 2

77 bits

Resulta por supuesto más conveniente decir 16ZB en vez de 277

para expresar dicha

cantidad en bits.

EB

PB TB

GB

MB

KB B

Page 28: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 28 de 91

PARTE B. INTRODUCCIÓN A LOS SISTEMAS NUMÉRICOS PARA APLICACIONES INFORMÁTICAS

Representación interna de la información

- Autora: C.C. Mabel Cilenti –

2.B.1. Introducción

Los caracteres utilizados en los lenguajes naturales humanos y los números decimales

son de uso corriente y comprendidos por las personas, ellos conforman lo que se

denomina “representación de datos externa”, pero la computadora por su naturaleza

electrónica, no puede entender y usar esos símbolos y números directamente, los datos

para ser tratados deben estar en forma binaria. Con representación interna de datos se

hace referencia a los distintos métodos de representar el lenguaje natural y los números

decimales en binario dentro de la computadora, como fue explicado en 2.A.5.

2.B.2. Formas de representar a los números enteros

Los números enteros son aquellos que no poseen parte fraccionaria, se los representa en

notación de punto fijo (en Argentina “la coma”), ubicando el punto decimal (“la

coma”) siempre en un lugar fijo que es a la derecha de la cifra menos significativa, de

allí su nombre de “punto fijo”. Por ejemplo: el número entero 532 es igual al 532. representado en punto fijo. Nótese la ubicación del punto fijo a la derecha del dígito

menos significativo, en este caso el 2.

Independientemente del método utilizado para la representación de los números se debe

conocer n, la cantidad (fija) de bits que la computadora utiliza para almacenar

información a esta cantidad de bits que la computadora lee o graba todos juntos en una

sola acción se la denomina: longitud de palabra. Esta puede ser de 8 bits, 16 bits, 32

bits, 64 bits, etc.

Se pueden consideran las siguientes representaciones de números enteros:

Binario puro (enteros sin signo)

Signo y módulo (también denominado signo y valor absoluto).

Complemento a la base

Complemento a la base menos 1

Como el sistema de numeración a emplear es binario (base 2), en las dos últimas

representaciones puede sustituirse la palabra Base por el valor de la base, es decir 2. De

esta forma existen dos maneras de mencionar a dichas representaciones:

Complemento a la base (CB)= Complemento a dos (C2)

Complemento a la base menos 1(CB-1)= Complemento a 1(C1)

Page 29: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 29 de 91

En cada representación se tendrá en cuenta dos parámetros importantes:

- Capacidad de representación: la cantidad de tiras de bits distintas que se

pueden representar. Por ejemplo si se tiene un sistema restringido a 4 bits,

existen 24 = 16 representaciones distintas.

- Rango o intervalo de representación: dado por el número más pequeño y el

más grande representables. Por ejemplo, en binario sin signo, con 4 dígitos es

[0,15].

2.B.2.1. Representación en binario puro. Enteros sin signo

Existen algunas magnitudes que son siempre positivas, por ejemplo la edad de una

persona: 18 años, la dirección de una vivienda: Rivadavia 1234, el número de DNI:

12345678.

Los enteros sin signo (siempre positivos) poseen un rango entre 0 y el infinito positivo,

las computadoras no pueden almacenar todos los enteros en este intervalo, para ello

necesitarían un número infinito de bits, lo que implicaría una computadora con una

capacidad de almacenamiento infinita, cosa imposible, por lo tanto el máximo entero

dependerá de la longitud de palabra utilizada.

En esta convención la representación del valor numérico coincide con su expresión en

binario, siendo siempre positivo (ver ejemplo 2.B.1).

La cantidad de números que se pueden representar con n bits es 2n, por ejemplo:

para n = 8 bits existen 256 representaciones distintas. Pero como los enteros incluyen al

0 y la cantidad total de números que se pueden representar es 2n, el rango se expresa:

En general para palabras de n bits el rango para ENTEROS SIN SIGNO es desde

0 a 2n-1

Para palabras de 8 bits el rango es desde 0 a 28 -1

Para palabras de 8 bits el rango es desde 0 a 256 -1

Para palabras de 8 bits el rango es desde 0 a 255

Ejemplo 2.B.1. – Representación en binario puro (sin signo)

Representar los números decimales 22 y 197 considerando una palabra de n = 8 bits

Page 30: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 30 de 91

La tabla 2.B.1 muestra según la cantidad de bits que se utilicen para el almacenamiento,

el rango de representación en binario puro y algunos ejemplos.

Tabla 2.B.1. Rango de representación en binario puro

2.B.2.2. Representación en signo y módulo. SM

Para la representación de números enteros con signo se asocia los dos posibles valores

del signo (+ y -) a los dos dígitos (0 y 1) del sistema binario mediante la utilización de

un bit.

En esta convención el MSB (bit más significativo, o sea el bit más a la izquierda en la

palabra) representa el signo, por convención 0 para + y 1 para el signo -, en el resto de

los n-1 bits va el valor absoluto o módulo del número en binario. Para n = 8 bits, el

formato es el presentado en la Figura 2.B.1.

SIGNO MÓDULO o VALOR ABSOLUTO DEL NÚMERO

Figura 2.B.1. Formato de representación en Signo y Módulo para 8 bits.

El ejemplo 2.B.2. muestra las representaciones del mismo módulo con signo positivo y

negativo. Obsérvese que la única diferencia entre ambas representaciones es el signo

(dígito más significativo, ubicado a la izquierda).

Esta forma es muy simple de implementar, pero de baja utilidad ya que si bien admite

números signados, presenta algunos inconvenientes:

Cantidad de bits Rango de representación

n [0 …2n – 1]

8 [0 …255]

16 [0 ... 65535]

Ejemplo 2.B.2. – Representación en módulo y signo

Representar el valor +35 y -35, con n= 8 bits, incluido el signo

Valor + 3510 = 0 01000112

Valor - 3510 = 1 01000112

Signo Valor absoluto

Ejercicio 2.B.1. – Sugerido

Representar el número decimal 191 en binario puro y n= 8 bits.

Page 31: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 31 de 91

- Tiene dos representaciones para el cero, una positiva y otra negativa, (para n= 8

bits) 00000000 y 10000000. No tiene sentido contar con dos combinaciones

para representar el cero, tampoco tiene sentido matemático contar con un signo

para expresar al cero como positivo o negativo. Por ello es preciso descartar una

de estas combinaciones optándose por no utilizar la de signo negativo. Por lo

tanto si bien la cantidad de combinaciones distintas son 2n, 256 para el caso de 8

bits, solo pueden representarse 28 – 1 = 255 combinaciones.

- No permite realizar operaciones aritméticas, es decir, si bien el MSB indica el

signo del valor representado, al hacer una operación aritmética dicho bit debe ser

tomado como un bit más, sin hacer diferenciación en la operación. Esta situación

se muestra en la figura 2.B.1 donde al realizar la suma de los números +36 y -36

en esta convención, se obtiene un resultado no nulo (-72), cuando el correcto es

cero.

Figura 2.B.2. Representación SM, no válida para operaciones aritméticas.

La cantidad de valores que se pueden representar con n bits sigue siendo 2n, pero ahora

la mitad serán positivos y la mitad negativos.

En la figura 2.B.3 se procede a escribir todas las combinaciones posibles con 3 bits (8

combinaciones), al considerar que el MSB representa el signo puede observarse que las

4 primeras se corresponderían con números positivos y las 4 restantes con números

negativos.

MSB

+

0 1 1 = + 3

0 1 0 = + 2

0 0 1 = + 1

0 0 0 = + 0

-

1 0 0 = - 0 (combinación que se descarta)

1 0 1 = -1

1 1 0 = -2

1 1 1 = -3

Figura 2.B.3. Representación SM, no válida para operaciones aritméticas

El rango de representación es diferente con respecto al visto para enteros sin signo,

debido a que se ha utilizado un bit para indicar el signo del número, quedando n–1 bits

para representar su valor absoluto, por lo tanto el máximo valor posible es 2n–1

– 1, y el

menor negativo es –(2n–1

– 1).

En la Tabla 2.B.2. se indica el rango de representación en signo y módulo según la

cantidad de bits.

+ 3610 001001002

+ - 3610 + 101001002

010 110010002 (es el -72)10

Page 32: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 32 de 91

Tabla 2.B.2. Rango de representación en signo y módulo

2.B.3. Complemento de un número.

2.B.3.1. COMPLEMENTO A LA BASE

El concepto de complemento se refiere a lo que le falta a un conjunto para alcanzar el

todo.

Por ejemplo: el complemento de {a, e, o} con respecto a todas las vocales es {i, o}. Lo

que le falta a: {a, e, o} para “completar” todas las vocales es {i, u}. Ver Figura 2.B.4.

Figura 2.B.4. Complemento.

El complemento a la base CN,B de un número positivo N de base B, es la diferencia

entre la base elevada al número de cifras empleada para la representación, y el valor que

se desea representar, esto se plasma en la expresión 2.B.1.

CN,B = Bn-N

N: número a representar, entero o fraccionario

B: base del sistema de numeración

n: cantidad de cifras empleadas en la representación del número

Expresión 2.B.1. Definición de complemento a la base

Cantidad de bits Rango de representación

N [-(2n-1

-1).., +0 .. 2n-1

-1]

8 [-127,+127]

16 [-32767,+32767]

Ejercicio 2.B.2 - Sugerido

Indique cuál es el mínimo número de bits necesarios para representar en binario el

número decimal –256 en signo y módulo.

Page 33: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 33 de 91

NÚMERO = 3 COMPLEMENTO A LA BASE = 7

0 1 2 3 4 5 6 7 8 9 10

Figura 2.B.4.: Complemento a la Base del número 3 (C3,10 = 7)

El complemento se calcula siempre por exceso, o sea tomando potencias de B que sean

superiores a N.

En el Ejemplo 2.B.3 mostrado a continuación se presentan tres casos para los cuales se

ha calculado el complemento a la base.

Tal como se ha comprobado en la Parte A, la base de un sistema de numeración

expresada en dicha base será siempre 10 (“uno cero”), por ello B se expresa como 10

en todos los casos, por facilidad n (exponente al que se eleva la base se ha representado

en decimal independientemente de la base en la que se esté trabajando). Tomando el

tercer caso presentado en el ejemplo 3.3 el exponente 4 escrito en binario sería 100.

Es importante notar por otra parte que la resta a realizar deberá llevarse a cabo en la

base que se está trabajando, ver figura 2.B.5.

Figura 2.B.5. Cálculo del Complemento a la Base del número 11012

Si bien esta cuenta no resulta difícil de resolver, se provee a continuación una regla

práctica que permite obtener el complemento a la base de un número binario sin

necesidad de realizar una cuenta:

Se recorre el número a complementar de derecha a izquierda, hasta el primer bit en 1

inclusive no se modifican, y el resto de los bits se invierten, unos por ceros y ceros por

unos. En la figura 2.B.6 se presentan algunos ejemplos.

A = 011011 A = 010100

---- ----

CA,2 = 100101 CA,2 = 101100

Figura 2.B.6. Regla práctica para hallar el complemento a 2

1 0 0 0 0 2

- 1 1 0 1 2

0 0 1 1 2

Ejemplo 2.B.3. – Complemento a la base

C287,10 = 103 – 28710 =100010 – 28710 = 71310

C72,8 = 102 – 728 = 1008 – 728 = 68

C1101,2 = 104 – 11012 = 100002 – 11012 = 00112

Page 34: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 34 de 91

2.B.3.2. COMPLEMENTO A LA BASE MENOS UNO

El complemento a la base menos uno de un número positivo, es la diferencia entre la

base elevada al número de cifras destinadas a representar el número menos uno y el

valor que se desea representar:

CN,B-1 = (Bn-1) - N

N es el número a representar, entero o fraccionario y B es la base del sistema de

numeración en que está representado el número, en este caso también el complemento

es por exceso. En el ejemplo 2.B.4 se realizan complementos a la base menos uno de

números expresados en distintas bases.

Regla práctica para obtener el complemento a la base menos uno de un número binario

(complemento a 1): se recorre el número a complementar cambiando los unos por ceros

y viceversa tal como se muestra en la figura 2.B.5.

A = 011011 A = 010100

---- ----

CA,B-1 = 100100 CA,B-1 = 101011

Figura 2.B.5. Regla práctica para hallar el complemento a 1

Se puede calcular el complemento a la base de un número, obteniendo primero su

representación en complemento a la base menos uno, y luego sumarle 1 en la posición

del bit menos significativo (ver el ejemplo 2.B.5).

Ejemplo 2.B.4. – Complemento a la base menos

uno

C287,10-1 = (103 – 1) – 287 = 999 – 287 = 71210

C72,8-1 = (102 – 1) – 72 = 77 – 72 = 058

C1101,2-1 = (104– 1) – 1101 = 1111 – 1101 = 00102

Ejemplo 2.B.5. – Complemento a la base, a través del complemento a

la base menos uno

C287,10 = C287,10-1 + 1 = 71210 + 1 = 71310

C72,8 = C72,8-1 + 1 = 058 + 1 = 068

C1101,2 = C1101,2-1 + 1 = 00102 + 1= 00112

Comparar los resultados obtenidos con los del ejemplo 2.B.3.

Page 35: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 35 de 91

2.B.3.3 UTILIZACIÓN DEL COMPLEMENTO EN OPERACIONES DE RESTA

El término complemento de un número es aplicable a todos los sistemas de numeración

posicionales, pero es utilizado fundamentalmente en el sistema binario para entregar una

adecuada representación de números signados que permita operar con ellos, el mismo

puede ser utilizado para realizar la operación de la resta a partir de una operación de

suma. Si se desea restar dos números M y S podría plantearse lo mostrado en la tabla

2.B.3.

Tabla 2.B.3. Expresiones equivalentes para la resta entre dos números

Expresión de Partida: R = M – S

La expresión no cambia si se suma y resta Bn

(una

potencia de la base, tal que sea mayor que M y S)

R = M + Bn

– Bn

– S

Reacomodamos los términos R = M + (Bn

– S) – Bn

El paréntesis de la expresión anterior representa al

complemento a la base del número S

R = M + CS,B – Bn

A partir de la tabla 2.B.3 se puede concluir que la resta entre M y S se puede realizar

sumando a M el complemento a la base de S y eliminando luego la potencia de la base

que se utilizó para el cálculo del complemento, como se muestra en la expresión 2.B.2.

R = M + CS,B – Bn

Expresión 2.B.2. Resta utilizando complemento

A modo de ejemplo, en la figura 2.B.8 se realizar la resta de los números 128 y 39,

expresados en el sistema decimal de numeración, utilizando el concepto de

complemento a la base:

Figura 2.B.8. Resta de dos números a través de la suma del complemento

Se restó del resultado obtenido, la potencia de la base utilizada para calcular el

complemento (102).

En la figura 2.B.9 se puede observar la restar de los números binarios 11001 y 00101

utilizando el complemento a la base.

428 – 39 = 389

428 + 61 = 489 - 102 = 389

(se resta el 10

2 del complemento)

C39,10 = 102 – 39

Ejercicio 2.B.3. - Sugerido

a) Calcule el complemento a la base de : A1FH y 1011001002

b) calcule el complemento a la base -1 de: 4678 y 111000102

Page 36: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 36 de 91

Figura 2.B.9. Resta de dos números binarios en complemento a 2

Se restó del resultado obtenido, la potencia de la base utilizada para calcular el

complemento (105), sencillamente se elimina el bit más a la izquierda que excede la

cantidad de bits usados en la representación.

Si bien el cálculo de la resta utilizando la suma del complemento es más largo, en el

caso de las computadoras que operan en binario, el resolver la resta por medio de la

suma del número complementado permite un ahorro en la estructura circuital de la

unidad de cálculo, dado que las operaciones de suma y resta se resuelven

con el mismo circuito lógico.

Por todo lo expuesto, SÓLO se complementarán los números negativos.

Otra forma de resolver la resta entre M y S es sumar a M el complemento a la base

menos 1 de S, eliminar luego la potencia de la base y al resultado obtenido sumarle 1

(ver expresión 2.B.3)

R = M + (Bn

- 1) – (Bn – 1) –

S

R = M + [(Bn

- 1) - S] - Bn + 1

R = M + CS,B-1 - Bn

+ 1

Expresión 2.B.3. Resta a través del complemento a 1

Otro caso a considerar es aquél en el cual el sustraendo es mayor que el minuendo y por

lo tanto el resultado de la resta es negativo. La figura 2.B.10 ejemplifica esta situación

al restar el número decimales 128 de 39, utilizando el concepto de complemento a la

base:

Figura 2.B.10. Resta utilizando Complemento a 2

En esta oportunidad, la potencia de la base utilizada en el cálculo del complemento

(103) no aparece explícitamente en el resultado como en los casos anteriores, por lo

tanto se debe restar del mismo para verificar el resultado de la resta: 911 – 1000 = -89,

lo que equivale a complementar el resultado obtenido.

Por lo tanto, cuando el resultado de una resta es negativo, la suma del minuendo y el

complemento del sustraendo da como resultado el complemento del resultado real.

A modo de ejercitación resolver el ejercicio 2.B.4.

39 – 128 = -89

39 + 872 = 911

C128,10= 103 – 128

11001 – 00101 = 10100

11001 + 11011 = 1 10100 se resta 105

C00101,2= 10101

– 00101

Page 37: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 37 de 91

2.B.3.4. Representación en complemento a la base–1 (CB-1)

Aquí también el bit más significativo (MSB) representa el signo, 0 para los positivos y 1

para los negativos. Para los números positivos en los (n-1) bits restantes se coloca el

valor absoluto o módulo igual que en SM y para los números negativos va el

complemento a la base menos 1 del número que se está representando.

Solamente se utiliza la representación en complemento para los números negativos.

La tabla 2.B.4 proporciona ejemplos para el caso de n=8 bits.

Tabla 2.B.4. Representación en C1

A continuación la tabla.3.5 presenta todos los valores posibles a representar en C1 con

n= 3 bits.

Tabla 2.B.5. Representación en C1

Decimal Representación

0 000

1 001

2 010

3 011

-3 100

-2 101

-1 110

-0 111

Signo

Se observa las siguientes características para esta representación:

- El bit de signo es 0 para los números positivos y 1 para los negativos.

- La cantidad de combinaciones posibles con n bits es 2n, de las cuales la mitad

corresponde a números positivos y la mitad a negativos.

- Existen dos representaciones para el 0, positivo y negativo. La combinación 111,

correspondiente al -0 no es utilizada ya que no tiene significado matemático, por

Número a representar Signo Módulo

+ 3710 0 0100101

-3710 1 1011010

Ejercicio 2.B.4. – Sugerido

Realizar en binario las siguientes operaciones de números decimales:

a) 235 − 372

b) 372 − 235

Page 38: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 38 de 91

lo cual de las 2n combinaciones posibles solo se pueden representar 2

n -1

valores numéricos.

- El complemento a uno de un número positivo, es su correspondiente número

negativo y viceversa.

- La posibilidad de realizar operaciones aritméticas y obtener un resultado

correcto, como se ejemplifica en la figura 2.B.11.

+ 3610 00100100 + - 1310

+ 11110010

+ 2310 1 00010110

bit de signo CARRY

Figura 2.B.11. Operación aritmética en CB-1

Se puede ver en el resultado la aparición, a la izquierda del bit de signo, de un

bit extra (se agregó a los ocho bits originales con que se representaron los datos),

denominado bit de arrastre o carry.

Dicho bit debe ser descartado al realizarse una operación de resta mediante la

suma del complemento del sustraendo. Además al calcular dicho complemento

se ha sumado una potencia de la base menos uno (B8 – 1) y al eliminar este 1 (el

carry), se saca una potencia de la base (B8), o sea se saca uno más de lo que se

sumó, por lo cual, para comprobar el resultado correcto se deberá sumar 1 al

resultado obtenido.

Verificación del resultado correcto:

- El resultado que obtuvo la ALU (Unidad Aritmética y Lógica: parte del

computador que se encarga de resolver las operaciones aritméticas y lógicas) al

realizar la operación es 00010110 y Carry.

- Como el signo es positivo (0) el resultado es directamente el valor binario

representado 000101102 o sea 2210.

- Por haber trabajado en CB-1( se sumó Bn-1

) y eliminado el Carry (Bn), se resta uno

más de lo que se sumó, por lo tanto se debe sumar 1 al resultado de la ALU para

una correcta interpretación: 22 + 1 = 23 que es el valor decimal correcto.

La tabla 2.B.6 muestra el rango de representación de números enteros en C-1.

Tabla 2.B.6. Rango de representación en Complemento a uno

Cantidad de bits Intervalo

N [-(2n-1

-1).. …..+ 2n-1

-1]

8 [-127…....+127]

16 [-32767…….+32767]

Page 39: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 39 de 91

2.B.3.5. Representación en Complemento a la Base o

Complemento a 2

También en esta convención los números positivos se representan en binario mediante

el bit de signo en 0 y su valor absoluto (al igual que en SM y en complemento a 1). Para

los negativos se coloca 1 en el bit de signo y el módulo en complemento a la base

(complemento a 2). La tabla 2.B.7 muestra algunos ejemplos para el caso de n=8 bits.

Tabla 2.B.7. Rango de representación en Complemento a la base, C2

Se ilustra en la tabla 2.B.8 todos los valores posibles a representar en Complemento a

dos con n= 3 bits:

Tabla 2.B.8. Representación en Complemento a dos

Decimal Representación

0 000

1 001

2 010

3 011

-4 100

-3 101

-2 110

-1 111

signo

Las propiedades de esta representación son:

- El bit de signo (el más significativo) es 0 para los números positivos y 1 para los

negativos.

- Posee una única representación para el cero. Por ejemplo, con n = 3 bits, la

representación del +0 es 000, para representar el ─0 se debe calcular el C2 de

000, o sea B3 – 000 = 1000 – 000 = 1000, valor imposible de representar en 3

Número a representar Signo Módulo

+ 17 0 0010001

-17 1 1101111

Ejercicio 2.B.5. - Sugerido

a) Representar en 8 bits los números decimales +112 y -112 en CB-1.

b) Se cuenta con la siguiente representación 11011001 en Complemento a 1 y n= 8

bits. ¿Cuál es el número decimal almacenado?

c) Represente el número decimal -3 en CB-1, con n= 5 bits.

d) ¿Cuál es el número decimal más grande y el más pequeño que se puede

representar con n= 5 bits en CB-1.?

Page 40: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 40 de 91

bits. Por lo tanto existe una única convención para el 0, y por supuesto es la que

posee bit de signo en 0.

- La posibilidad de realizar operaciones aritméticas y obtener un resultado

correcto (ver figura 2.B.10).

+ 3610 00100100 + - 3610

+ 11011100

010 1 00000000

CARRY

Figura 2.B.10. Resta en complemento a 2

Nuevamente se observa la aparición en el resultado, del bit de arrastre o carry,

que debe ser descartado.

- Existen en esta convención, para n bits, 2n valores a representar, de los cuales la

mitad son positivos (considerando al cero positivo dado que su bit de signo es

cero) y la mitad negativos.

- Los números positivos a representar comienzan en 0 y los negativos en -1, por lo

tanto el valor absoluto del menor negativo supera en 1 al valor absoluto del

mayor positivo, en la tabla 3.8 el mayor positivo es 3 y el menor negativo -4.

La tabla 2.B.9 define el rango de representación de números enteros en C2.

Tabla 2.B.9. Rango de representación en complemento a 2

Cantidad de bits Intervalo

n [-(2n-1

)..-1, +0 .. 2n-1

-1]

8 [-128..-1, +0..+127]

16 [-32768..-1, +0.+32767]

La convención de complemento a dos es la representación más utilizada en la

actualidad.

Ejercicio 2.B.6. - Sugerido

a) Representar en 8 bits los números decimales +12 y -12 en CB.

b) Se cuenta con la siguiente representación 11011001 en Complemento a 2 y n= 8

bits. ¿Cuál es el número decimal almacenado?

c) Represente el número decimal -11 en CB, con n= 6 bits.

d) ¿Cuál es el número decimal más grande y el más pequeño que se puede

representar en CB y n= 4 bits?

Page 41: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 41 de 91

2.B.4. Rangos de representación

Ya se ha dicho que si se utilizan n bits para representar los números enteros, se obtienen

2n combinaciones distintas. En la tabla 2.B.10 se resume el rango (el mínimo y el

máximo valor) para cada una de las convenciones estudiadas anteriormente.

Tabla 2.B.10. Rangos de representación

Representación Rango

Enteros sin signo [ 0 …. +2n

- 1]

Signo y módulo [-(2

n-1 -1)… +(2

n-1 -1)]

Complemento a la base menos uno (C1)

Complemento a la base (C2) [-2n-1

… +(2n-1

-1)]

2.B.5. Operaciones aritméticas con números signados

Se plantea a continuación diversos ejemplos que indican como se realizan las

operaciones de suma y resta en los computadores, teniendo en cuenta las siguientes

reglas:

- En el caso de suma o resta de número signados se deberá utilizar alguna de las

convenciones que representan los negativos a través del complemento.

- Los bits de signo de cada operando se tratan de la misma forma que los bits de

magnitud, además ambos operandos deben ser representados con la misma

cantidad de bits de forma que los bits de signo queden encolumnados.

- Los números negativos se expresan a través de su complemento y como bits de

signo 1. Por lo tanto cada vez que se obtenga como resultado de una operación

1 como bits de signo, se deberá complementar dicho resultado para lograr una

correcta interpretación del resultado real.

En todos los casos se trabajará, a modo de ejemplo, con n= 8 bits incluido el bit de

signo.

Adelantando parte de los conceptos correspondientes a la Unidad 4, se explicará a

continuación la suma de enteros dentro de la computadora.

La encargada de realizar la suma es un conjunto de circuitos llamados Unidad

Aritmética y Lógica (ALU), según sus siglas en inglés.

La ALU posee dos entradas, una para cada sumando y obtiene una salida con el

resultado de la operación solicitada por el programa. Además actualiza la información

almacenada en una pequeña memoria llamada Registro de Estados. Dicho registro

contiene información relevante sobre el resultado de la operación realizada.

La Figura 2.B.11 muestra el diagrama de la ALU y del Registro de Estados, donde se

suman 1 + 2.

Page 42: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 42 de 91

Figura 2.B.11: La ALU y el Registro de Estados

Es posible observar que el Registro de Estados, posee 4 ceros (en este caso),

correspondientes a las 4 señales de Estado:

Signo (S): 0 si el resultado es positivo, 1 si el resultado es negativo.

Carry o Acarreo (Cy): 0 si no hubo Carry, 1 si hubo Carry

Overflow (Of): 0 si no hubo Overflow, 1 si hubo Overflow.

Zero (Z): 0 si el resultado NO dio cero, 1 si el resultado es cero.

Cada una de ellas será explicada en los ítems siguientes.

2.B.5.1. Suma en complemento a dos

Caso 1: La figura 2.B.12 ilustra la suma de dos números positivos.

Sumar los números decimales +29 y +18

+

+2910 → 0 0011101

+1810 → 0 0010010

+4710 → 0 0101111

Bits de signo

Figura 2.B.12. Suma dos números positivos en Complemento a 2

En el resultado el bit de signo es 0, por lo tanto el resultado es positivo y su magnitud

está expresada en binario puro.

Caso 2: Suma de un número positivo con otro negativo de módulo menor al primero.

Sumar los números decimales +29 y -18, representar los operandos con 8 bits incluido

el signo. El -18 se debe expresar en complemento a 2 (11101110) (ver figura 2.B.13).

Page 43: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 43 de 91

+

+ 2910 → 0 0011101

- 1810 → 1 1101110

+ 1110 1 0 0001011

Bits de signo

Este acarreo se elimina

Figura 2.B.13. suma de un número positivo con uno negativo

El bits de signo del resultado es 0, por lo tanto el resultado es positivo. Además se

genera un acarreo en el MSB, el cual se descarta debido a que fue incluido cuando se

calculó el complemento a 2 del 18.

Caso 3: Suma de un número positivo con otro negativo de módulo mayor al primero.

Esta situación se muestra en la figura 2.B.14, en la cual se suman los números

decimales -29 y +18, representando los operandos con 8 bits incluido el signo. El -29 se

debe expresar en complemento a 2 (11100011).

+

+1810 → 0 0010010

- 2910 → 1 1100011

- 1110 1 1110101

Bits de signo

Figura 2.B.14: Suma de un número positivo con otro negativo

El bit de signo del resultado es 1, por lo tanto el resultado de la suma es negativo y está

expresado en C-2. Para saber el verdadero valor se debe descomplementar a dos el

resultado 1110101, lo cual dará como resultado 00001011 (+11), o sea 11110101 es el -

11.

Caso 4: Suma de dos números negativos.

Sumar los números decimales -29 y -18, representar los operandos con 8 bits incluido el

signo. Ambos operandos deberán expresarse en complemento a 2 (ver figura 2.B.15).

+

- 2910 → 1 1100011

- 1810 → 1 1101110

- 4710 1 1 1010001

Bits de signo

Este acarreo se elimina

Figura 2.B.15. Suma de dos números negativos

El bit de signo del resultado es 1, por lo tanto el resultado es negativo y se encuentra en

C-2. Para el cálculo del resultado real se deberá complementar el 1010001, obtenido

0101111 (4710), o sea el - 4710.

Además se genera un acarreo en el MSB, el cual se descarta debido a que fue incluido

cuando se calculó el complemento a 2.

Page 44: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 44 de 91

2.B.5.2. Resta en complemento a dos

La operación de resta de números signados usando complemento a 2, se realiza a través

de la operación de suma y no es distinta de los diversos casos planteados para la misma

Se recuerda que al restar un número binario (sustraendo) de otro número binario

(minuendo), primero se obtiene el complemento del sustraendo y luego este último se lo

suma con el minuendo. Como ejemplo en la figura 2.B.16 se resta +12 de +37,

representados en 8 bits, incluido el signo y usando complemento a dos.

-

+ 3710 → 0 0100101

+ 1210 → + 1 1110100 (C-2 de 00001100)

+ 2510 1 0 0011001

Bits de signo

Este acarreo se elimina

Figura 2.B.16. Resta en Complemento a 2

Al cambiar el sustraendo por su complemento a dos, se convierte a -12 y se está

sumando -12 y +37 que es igual que restar +12 de +37.

Otro ejemplo, se muestra en la figura 2.B.17, en el cual se desea restar -1210 de -3710,

representados en 8 bits, incluido el signo y usando C-2.

-

- 3710 → 1 1011011(-3710 en C-2)

- 1210 → + 0 0001100

- 2510 1 1 1100111 (-2510 en C-2)

Bits de signo

Este acarreo se elimina

Figura 2.B.17. Resta en complemento a dos

Puede observarse en la figura 3.16 que para calcular (-37) – (-12), aplicando la regla de

los signos, es equivalente a realizar (-37) + 12.

Se propone realizar el ejercicio 2.B.7 para afianzar lo visto.

Ejercicio 2.B.7. – Sugerido.

Realizar en 8 bits incluido el signo y complemento a la base las siguientes

operaciones:

a) (+97) + (+15) b) (– 39) + (+121)

c) (– 123) + (+120) d) (– 113) + (-8)

e) (+195) - (+87) f) (-84) - (-23)

Page 45: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 45 de 91

2.B.6. Overflow (desborde)

En las operaciones realizadas en binario con números signados, se produce desborde

(también llamado exceso o rebalse) si el resultado excede la capacidad de

almacenamiento correspondiente a la cantidad de bits utilizados para representar los

operandos.

Véase como ejemplo la suma de los números decimales +70 y +82, expresados ambos

en formato de 8 bits incluido el signo y complemento a 2. En la operación representada

en la figura 2.B.18, se puede observar que el resultado obtenido es incorrecto, pues el

bit de signo representa un número negativo y se están sumando dos números positivos,

por lo tanto nunca su suma puede arrojar un resultado negativo.

+

+ 7010 → 0 1000110

+ 8210 → 0 1010010

+15210 1 0011000 (magnitud incorrecta

es el -10410)

Bits de signo incorrecto (se

suma dos número positivos, nunca

puede dar un número negativo)

Figura 2.B.18. Suma con desborde

Esto no debería sorprender ya que en la notación de Complemento a dos, con 8 bits

incluido el signo, el máximo número posible que puede representarse es el +127, por lo

tanto es imposible representar el +152, que es la respuesta correcta.

Si bien el resultado “10011000” si se lo ve como un número entero sin signo es el

(+152)10, al estar trabajando en complemento a dos, el primer bit, el de signo está

indicando un número negativo, y los 7 bits restantes representan al decimal 104 en

Complemento a dos, o sea el resultado almacenado es el -104, incorrecto.

Los dos operandos (+70)10 y (+82)10 se han podido representar correctamente en

formato de 8 bits incluido el signo, no así el resultado de la suma de los mismos

(+152)10, cuyo módulo supera el rango permitido para esa representación que es +12710,

requiriendo más de 7 bits para su representación y por lo tanto desborda hacía la

posición del bit de signo.

Se pueden definir reglas sencillas para detectar desbordamiento (overflow):

Analizando los signos de los sumandos y del resultado.

- Si se suman números que tienen el mismo signo y el resultado tiene el signo

opuesto se produce overflow.

- Si los números a sumar son de signos opuestos no puede ocurrir overflow, ya

que la magnitud del resultado no supera la del operando mayor.

Analizando los acarreos que se generan al realizar la operación.

Page 46: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 46 de 91

- En una operación de suma se produce desborde si los bits de acarreo de entrada

y de salida de la posición del signo son distintos. En la figura 2.B.19, se presenta

un ejemplo de la regla aquí enunciada

En la operación de suma, el acarreo de entrada ≠ acarreo de

salida esto indica que se produjo Overflow

Acarreo de

salida

Acarreo de entrada (de la columna

anterior)

0 1

+

+ 70 → 0 1000110

+ 82 → 0 1010010

+152 1 0011000 (es el -10410, incorrecto)

Bits de signo

Figura 2.B.19. Regla de overflow en términos de acarreos

En el caso de la resta de números en complemento a dos, se puede llegar a definir otro

conjunto de reglas que permitan detectar desborde, pero debido a que la mayoría de los

circuitos de resta realizan su tarea sumando al minuendo el complemento a dos del

sustraendo, resulta de aplicación las mismas reglas presentadas para la suma.

El computador tiene un circuito especial para detectar overflow al sumar dos números,

el cual enviará una señal especial a la unidad de control indicando esta situación y lo

incorrecto del resultado.

2.B.7. Representación binaria de números reales

2.B.7.1. Representación exponencial. Punto Flotante

La representación de números en formato de punto fijo ubica la coma decimal en una

posición establecida en la representación del número, dejando una cantidad

determinada de dígitos tanto para la parte entera como para la fraccionaria. Cuando se

requiere almacenar números fraccionarios o números enteros, muy grandes (por ejemplo

millón de millones) o fracciones muy pequeñas, con muchos ceros después de la coma

decimal y antes del primer dígito no nulo, se necesita contar con palabras de muchos

bits, o sea se requiere una buena cantidad de hardware, lo cual implicaría que las

operaciones de cálculo pueden llegar a realizarse de manera más lenta.

La representación de números en punto flotante, utilizada para números reales, (aunque

también sirve para números enteros) permite representar un amplio rango de valores con

poca cantidad de dígitos binarios. Consiste en la representación exponencial de los

números reales.

Un valor numérico N, en una base B cualquiera, puede representarse como se indica en

la expresión 2.B.4

N = m x Be

Page 47: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 47 de 91

N: Valor numérico a representar

m: mantisa del número

B: base del sistema de numeración en que está expresado N.

e: exponente necesario para llegar al número N

Expresión 2.B.4. Representación exponencial de los números reales

En la tabla 2.B.11 se presentan algunos ejemplos:

Tabla 2.B.11. Ejemplos de representación exponencial de números reales

Número a representar Base Mantisa Exponente Representación exponencial

+52487,25 10 +0,05248725 6 0,05248725 x 106

+52487,25 10 +0,5248725 5 0,5248725 x 105

+52487,25 10 +5,248725 4 5,248725 x 104

+52487,25 10 +52,48725 3 52,48725 x 103

-0,0000000000000028 10 -28 -16 -28 x 10-16

+1000000000000 2 +1 +12 1 x 10+1100

-0,00000000000001 2 -1 -14 -1 x 10-1110

Debe quedar claro que el signo del número se observa en el signo de la mantisa y no en

el signo del exponente que siempre indica si el número es menor o mayor a la unidad.

Esta forma de representar números permite expresar valores que pueden ser muy

grandes o muy pequeños de una manera simple y además realizar operaciones

aritméticas fácilmente con solo observar algunas reglas para operar en este formato:

Para sumar o restar números en formato de punto flotante los números deben

tener el mismo exponente, procediendo luego a sumar o restar las mantisas.

Para multiplicar números en formato de punto flotante, el resultado tiene como

exponente, la suma de los exponentes de los operandos y como mantisa el

producto de sus mantisas.

Para dividir números en formato de punto flotante, el resultado tiene como

exponente, la resta de los exponentes de los operandos y como mantisa la que se

obtiene al dividir las mantisas entre sí.

Tanto en el caso de la multiplicación como en la división, no es necesario que

los operandos tengan igual exponentes.

Esta representación presenta el problema que un mismo número puede tener distintas

representaciones. Por ejemplo, las siguientes formas numéricas son todas equivalentes:

2593,2 x 10

0 = 259,32 x 10

1 = 25,9320 x 10

2 = 2,5932 x 10

3 = 0,25932 x 10

4

2.B.7.2. Normalización de la mantisa

Para evitar el uso de representaciones múltiples para un mismo número, la

representación de punto flotante trabaja con formas normalizadas de la mantisa

siendo las frecuentemente usadas:

Page 48: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 48 de 91

La coma decimal ubicada a la izquierda del dígito no nulo más significativo, o

sea la parte entera de la mantisa nula 0,1 ≤ m < 1. En el ejemplo planteado

anteriormente correspondería a la expresión 0,25932 x 104.

La coma decimal ubicada a la derecha del dígito no nulo más significativo, o

sea la parte entera de la mantisa de un solo dígito 1 ≤ m < 10. En el ejemplo

planteado anteriormente correspondería a la expresión 2,5932 x 103.

Si al realizar cualquiera de las operaciones anteriores, se obtiene un resultado con

mantisa no normalizada, la misma deberá ser normalizada, multiplicando y dividiendo

el resultado por una potencia de la base que permita la normalización.

En el caso de representación binaria de números expresados en punto flotante, para la

mantisa se utilizará algunas de las convenciones vistas para números enteros, siendo la

más usada la representación en complemento a la base.

2.B.7.3. Bit implícito

Si la representación en punto flotante se realiza en el sistema de numeración binario y

la normalización de la mantisa utilizada es con la coma a la izquierda del dígito no nulo

más significativo (en binario 1), luego de la coma siempre se tendrá un 1, por lo tanto la

mayoría de los métodos no almacenan dicho bit, lo “recortan” antes de empaquetar el

número para almacenarlo y lo incorporan cuando lo desempaquetan para volver a su

representación en mantisa y exponente.

Este bit oculto, no guardado, se denomina bit implícito. Al utilizar esta forma se logra

almacenar un bit adicional a la derecha de la mantisa, mejorando la precisión.

Por ejemplo: si en un formato determinado la mantisa ya normalizada se representa,

como 0,11011, la mantisa a ser almacenada será 1011 y el bit más significativo no se

guarda, se sobreentiende.

Ejercicio 2.B.9. - Sugerido

a) Represente los números decimales 34567,245 0,0005489 en forma exponencial,

normalizada con mantisa ≥ 1.

b) Realice la suma de los números decimales 0,1254 x 10-4

y 0,26587 x 103

obteniendo un resultado normalizado.

Ejemplo 2.B.6.

Realice la suma de los números decimales 0,3254 x 105 y 0,987562 x 10

8 obteniendo

un resultado normalizado.

Se igualan los exponentes 0,987562 x 108 = 0,987562 x 10

5 x

10

3 = 987,562 x 10

5

Se realiza la suma 0,3254 x 105

+ 987,562 x 105 = 987,8874

x 10

5

Se normaliza el resultado 987,8874 x 10

5 = 987,8874

x 10

5 x

(10

3 / 10

3)=

= 0,9878874 x 10

8

Page 49: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 49 de 91

Si en cambio la normalización utilizada es con coma a la derecha del primer bit no nulo,

más significativo, lo que se tiene siempre es un 1 antes de la coma, y este sería el bit a

ocultar. Si como resultado de la normalización se tuviera una mantisa 1,101110 el

patrón almacenado sería 101110.

En cualquiera de las dos formas normalizadas, en el caso de no ocultar el bit que es

siempre 1, se dice que se trabaja con primer bit no implícito o explícito.

2.B.7.4. Representación del exponente

El exponente podría ser representado a través de su complemento a dos, lo cual implica

la utilización de un bit para el signo, además de los inconvenientes enunciados con

anterioridad en este tipo de representación. Para salvar estos problemas el método que

se utiliza para almacenar el exponente es la representación en exceso.

Representación en exceso N de un valor numérico X = X + exceso N

siendo el exceso N (para una representación que utiliza n bits) igual a 2n-1

o una unidad

menor, 2n-1

– 1.

Expresión 2.B.5. Representación exponencial de los números reales

La representación definida en la expresión 2.B.5 convierte a todos los exponentes en

números positivos. A continuación en la tabla 2.B.12 se ejemplifica para n= 8 bits.

Tabla 2.B.12. .Representación en exceso

Valor a

representar

Exceso Valor excedido Representación

en exceso

+2010 2n-1

= 2

8-1 = 2

7 = 128 +20 + 128 = 148 1 0 0 1 0 1 0 0

-2010 2n-1

= 2

8-1 = 2

7 = 128 -20 + 128 = 108 0 1 1 0 1 1 0 0

+9310 2n-1

-1= 2

8-1- 1

= 2

7- 1 = 127 +93 + 127 = 220 1 1 0 1 1 1 0 0

-9310 2n-1

-1= 2

8-1- 1

= 2

7- 1 = 127 -93 + 127 = 34 0 1 0 1 1 1 1 0

La tabla 2.B.13 muestra todos los valores posibles a representar, con n= 3 bits, en

exceso 4 (exceso 2n-1

= 22).

Tabla 2.B.13. Representación en exceso 4

Decimal Representación

0 100

1 101

2 110

3 111

-4 000

-3 001

-2 010

-1 011

Page 50: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 50 de 91

Esta representación es asimétrica y tiene una única representación para el 0, en ella el

rango coincide con el de complemento a 2, salvo el bit más significativo (compararla

con la tabla 2.B.5).

En la representación excedida los números aparecen ordenados si se los mira en una

representación binaria sin signo, toda representación de un número negativo es menor

que cualquiera de un número positivo.

Esto último tiene fundamental importancia al facilitar la comparación de los exponentes

de los números en punto flotante para igualarlos, en caso de ser necesario para realizar

su suma o resta.

Independientemente el formato de punto flotante que se utilice, debe ser conocido por

toda persona que pretenda almacenar o recuperar datos que se hallan representados en

ese formato.

2.B.7.5. Representación en punto flotante dentro de la computadora

Los bits que forman la palabra se empaquetarán de tal forma que el bit de signo quede a

la izquierda, seguido por los bits que representan el exponente y a continuación los bits

que representan la mantisa. No se almacena ni la base del sistema, ni la coma

fraccionaria.

S EXPONENTE MANTISA

Para ejemplificar los pasos principales para la representación de un número en formato

de punto flotante se describe la norma a ser usada:

Total de bits: 24

Signo: 1er bit de la izquierda (0 positivo, 1 negativo)

Exponente: 7 bits en exceso 64

Mantisa: 16 bits, en Complemento a dos, con primer bit implícito y normalizada

con coma a la derecha del primer dígito significativo.

Se quiere hallar la representación del número - 439,7510 utilizando la norma descripta.

Paso 1: convertir el número a representar (en este caso el - 439,7510) al sistema de numeración binario utilizando los métodos de conversión estudiados anteriormente.

- 439,7510 = -110110111,112

Paso 2: Ubicar la coma según indica la norma, en este caso ubicar la coma a la derecha

del bit más significativo (el 1 que se encuentra más a la izquierda), dejándolo expresado

en formato de punto flotante:

-110110111,112 = - 1,1011011111 x 108

Paso 3: Calcular el exponente normalizado

Page 51: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 51 de 91

El exponente es 8 (1000), pero como se almacena en exceso 64, el exponente a guardar

saldrá de la siguiente operación:

Exponente 0001000 (+8)

Exceso 64 + 1000000 (+64)

Exponente en exceso 64 1001000 (+72)

Paso 4: Contar la cantidad de bits disponibles para la mantisa y complementar si se

requiere

Mantisa: 1,1011011111, se almacenan 16 bits. Como la norma usa primer bit implícito,

el 1 a la izquierda de la coma no se guarda. La cadena de bits a almacenar sería

1011011111000000 (nótese que se ha completado con ceros a la derecha los bits

faltantes) pero al utilizar C2 para la mantisa y al ser el valor negativo, lo que se guarda

es su complemento, o sea: 0100100001000000

Paso 5: Expresar el número normalizado

Para ello es necesario completar los campos numéricos de la representación:

El valor a representar es negativo, por lo tanto bit de signo (S) → 1

S EXPONENTE MANTISA

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

El formato final de la representación es el siguiente: 1 1001000 0100100001000000.

Esta cadena de bits es el número - 439,7510 representado en el formato de punto

flotante especificado.

A continuación se presentan los ejercicios 2.B.9, 2.B.10 el segundo de ellos con

resolución

Ejercicio 2.B.9. – Sugerido

Hallar la representación binaria en punto flotante del número 253,437510, en 24 bits

en total, 1 bit para el signo, exponente de 8 bits en exceso 128, la mantisa en

Complemento a 2, con primer bit NO implícito y normalizada a la izquierda del

primer dígito significativo

Page 52: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 52 de 91

2.B.7.7. Formato de representación punto flotante IEEE 754

Evidentemente existen distintas formas de representar números en formato de punto

flotante, el Instituto de Ingenieros Electrónicos y Eléctricos (IEEE: Institute of

Electrical and Electronics Engineers) es quién ha tomado el liderazgo en la

normalización de formatos de punto flotante, formalizando hacia fines de la década de

los sesenta la norma IEEE 754. (http://www.ieee.org.ar)

Esta norma considera dos formatos básicos: simple precisión y doble precisión.

En la figura 2.B.21 se muestran ambos formatos.

DOBLE PRECISIÓN 11 bits 52 bits

Exponente Mantisa

64 bits

Figura 2.B.21. Formato IEEE 754 para punto flotante simple y doble precisión

SIMPLE PRECISIÓN 88 bbiittss 2233 bbiittss

Exponente Mantisa

Signo (1 bit) 32 bits

Ejercicio 2.B.10 - Resuelto.

Se tiene el patrón de bits utilizado para representar un cierto número decimal

010000111000111101 y la descripción de la norma empleada:

Total de bits: 18

Signo: 1er bit de la izquierda (0 positivo, 1 negativo)

Exponente: en exceso 127

Mantisa: en Complemento a dos, con primer bit implícito y normalizada con coma a la izquierda del primer dígito significativo.

Se desea identificar el número decimal que se guardó.

- El bit de signo vale 0 → el número es positivo.

- El exponente guardado es el 100001112 (13510), utilizando 8 bits ya que la

norma usa exceso 127. Para obtener el exponente real se debe restar 127 al

exponente almacenado, o sea 13510 - 12710 = 810 .

- A la mantisa almacenada se le debe agregar un 1 después de la coma, pues la

norma utiliza primer bit implícito, por lo tanto se recupera una mantisa de

0,1000111101.

- Juntando todos los valores hallados se recupera el número representado:

(0,1000111101 x 101000

)2 = 143,2510

Exceso

1023

Exceso

127

Page 53: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 53 de 91

SIMPLE PRECISIÓN

Total de bits: 32

Signo: 1er bit de la izquierda (0 positivo, 1 negativo)

Exponente: 8 bits en exceso 127

Mantisa: 23 bits, en binario (se guarda siempre sin complementar), normalizada con la coma a la derecha del primer dígito significativo, con dicho bit implícito

(oculto).

DOBLE PRECISIÓN

Total de bits: 64

Signo: 1er bit de la izquierda (0 positivo, 1 negativo)

Exponente: 11 bits en exceso 1023

Mantisa: 52 bits, en binario (se guarda siempre sin complementar), normalizada

con la coma a la derecha del primer dígito significativo, con dicho bit implícito

(oculto).

El ejemplo 2.B.7 muestra la representación del número - 439,7510, en la norma IEEE

754, simple precisión.

2.B.7.8. Rango de la representación IEEE 754. Simple precisión.

Este formato permite expresar números en el rango de 2-127

al 2+128

, en decimal de 10-38

a 10+38

o El valor más pequeño corresponde a la siguiente representación binaria:

Ejemplo 2.B.7

Paso 1: Pasar a binario - 439,7510 = -110110111,112

Paso 2: Normalizar 1,1011011111 x 108

Paso 3:

Total de bits: 18

Signo: 1er bit de la izquierda (0 positivo, 1 negativo)

Exponente: en exceso 127

Mantisa: en Módulo y Signo, con primer bit implícito y normalizada con coma a la derecha del primer dígito significativo.

Signo = 1

Exponente a representar= exp. real + XS 127= 8 +127= 135 = 10000111

Mantisa = 10110111110000000000000

Representación: 1 10000111 10110111110000000000000

Page 54: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 54 de 91

1 00000001 00000000000000000000001

Signo= - Exponente= 1 Mantisa = 1/223

= 2-23

Mínimo valor = - (1 + 2-23

) x 21-127

= - (1 + 2

-23) x 2

-126, en decimal -1,17549449 .10

-38

o El valor máximo corresponde a la siguiente representación binaria

0 11111110 11111111111111111111111

Signo= + Exponente= 254 Mantisa=1/21 +1/2

2 +…+1/2

23 = 0,9999999999

Máximo valor = (1 + 0,999999) x 2254-127

= (1.999999) x 2

127, en decimal 3,40282346 .10

38

Page 55: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 55 de 91

PARTE C. CÓDIGOS -Autora: Mg. Artemisa Trigueros –

2.C.1. Introducción

Se está disputando un partido de fútbol. En medio de una jugada el referee cobra una

infracción sacando tarjeta roja. Todos los espectadores y jugadores saben, sin ninguna

duda, que significa la expulsión de un jugador. Asimismo, durante otro momento del

encuentro, el referee saca tarjeta amarilla y los espectadores y jugadores entienden que

está amonestando a otro jugador.

El caso mencionado presenta las características de un código, ya que existe una relación

sin ambigüedad entre el color de la tarjeta y su significado y viceversa.

TARJETA AMARILLA AMONESTACIÓN

TARJETA ROJA EXPULSIÓN

Desde épocas inmemoriales el ser humano ha intercambiado información con sus

semejantes. Para realizar esta función ha recurrido y sigue recurriendo a numerosas

manifestaciones: sonidos, gestos, imágenes, colores, señales de humo6, etc.

Lo importante es transmitir o guardar un concepto “sin ambigüedad”.

La realidad y nuestra comunicación diaria nos presentan varios ejemplos:

Los vehículos y sus patentes.

Las personas y sus DNI.

Los colores de las luces de los semáforos.

Las notas musicales. Cada nota corresponde a una posición específica dentro del pentagrama. (Imagen: marisolramos.wordpress.com)

6 Imagen: www.deperu.com

Page 56: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 56 de 91

Figura 2.1. Representación de las notas musicales en un pentagrama7

Se puede pensar también, en nuestro alfabeto, donde cada letra debería corresponder a

un sonido, sin embargo, dadas las características de nuestro “Castellano- Argentino”,

¡qué difícil se hace aprender que palabras van con s o con c, con b o v, porque suenan

iguales cuando NO deberían! Este es un claro caso de ambigüedad.

2.C.2. Definición de Código

DEFINICIÓN: Se denomina código a la relación biunívoca que se establece entre

dos conjuntos donde cada elemento del primero corresponde a uno y solo un

elemento del segundo (no hay ambigüedad).

Esta definición implica que a ningún elemento del primer conjunto le corresponda más

de un elemento del segundo y viceversa, y además que ningún conjunto tenga elementos

repetidos.

Para aclarar esta definición se muestran algunos ejemplos:

El Código de Señales de Tránsito son clara muestra de un código que representa

conceptos por medio de imágenes, como muestra la Figura 2.C.1.

Figura 2.C.1. Señales de tránsito

7 Imagen: marisolramos.wordpress.com

CURVA DERECHA

PUENTE ANGOSTO

ANIMALES SUELTOS

CRUCE DE

FERROCARRIL

CRUCE

FERROVIARIO

Page 57: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 57 de 91

Como ejemplos de códigos famosos podemos citar:

Código MORSE

Fue desarrollado en 1835 por Alfred Vail mientras colaboraba con Samuel Morse en la

invención del telégrafo eléctrico. Cada letra o número es representado en forma

individual por medio de un código consistente en rayas y puntos, que se diferencian en

el tiempo de duración de la señal telegráfica activa, siendo mínima la duración de la

señal para el punto y el triple de ésta para la raya. Ver Figura 2.C.2.

Figura 2.C.2 Código Morse

8

Código de Barras

Se basa en la utilización de líneas paralelas de distinto grosor y espaciado que contienen

una determinada información. Se ha generalizado su uso a nivel mundial para manejo de

artículos, documentos, etc. Fue inventado en 1950 aunque su éxito llegó a partir de

1980. La Figura 2.C.3 muestra un ejemplo.

Figura 2.C.3. Código de Barras

9

8 evoluciontelegrafo.galeon.com

9Imagen: http://es.wikipedia.org/wiki/C%C3%B3digo_de_barras

Page 58: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 58 de 91

Códigos QR

Los códigos QR (Quick Response) (Respuesta Rápida) son códigos de barras

bidimensionales con capacidad de almacenar gran cantidad de información codificada

dentro de un cuadrado.

Figura 2.C.4: Código QR10

Se identifican por sus tres cuadrados ubicados en las esquinas superiores y en la

inferior izquierda, pertenecientes al cuadrado principal, que permiten detectar la

posición del código lector, como puede apreciarse en la Figura 2.C.4.

Fueron creados por Euge Damm y Joaco Retes en 1994, pertenecientes a la compañía

japonesa Denso Wave, subsidiaria de Toyota.

Los smartphones permiten su lectura de forma sencilla mediante la descarga de una

aplicación y la utilización de la cámara.

Existen otros códigos bidimensionales como el BIDI, que no es gratuito y el

BOKODES basado en un pequeño dispositivo LED y lentes que ocupan 3mm.

Para aclarar más la definición de código se muestran algunos contraejemplos:

Los casos representados en las Figuras 2.C.5, 2.C.6 Y 2.C.7 NO SON CÓDIGOS

Figura 2.C.5. No es código por igual representación de símbolos

10

Imagen: westgatenetworks.com

A

E

I

O

U

1

2

3

Page 59: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 59 de 91

Estos conjuntos NO poseen una relación biunívoca, ya que el respresenta a las letras E y

I y el número 3 a las letras O y U. Los números 2 y 3 se repiten. Por lo tanto es ambiguo

y no constituye un código.

Otro ejemplo de NO CÓDIGO:

Figura 2.C.6. No es código porque falta una representación

Es posible observar que el símbolo ↕ no tiene significado, por eso no es un código.

Y otro ejemplo más:

Figura 2.C.7. No es código porque falta una representación y otras son iguales.

En este caso RE tiene doble representación y MI no tiene representación. Por lo tanto

NO ES CÓDIGO.

ARRIBA

ABAJO

A

B

C

DO

RE

MI

Page 60: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 60 de 91

2.C.3. Módulo de un Código

DEFINICIÓN: Se denomina módulo de un código a la cantidad de elementos que

el código permite representar.

La Tabla 2.C.1 muestra un código de módulo 5.

Tabla 2.C.1. Código de módulo 5

VOCAL MAYÚSCULA VOCAL MINÚSCULA

A a

E e

I i

O o

U u

Este código que permite relacionar los símbolos que representan a las vocales

mayúsculas y minúsculas tiene MODULO 5

Los operadores matemáticos también constituyen un código, como muestra la Tabla

2.C.2:

Tabla 2.C.2. Operadores matemáticos

SÍMBOLO OPERACIÓN

+ SUMA

- RESTA

* PRODUCTO

/ COCIENTE

El Código de los operadores matemáticos tiene módulo 4

¿Qué módulo tiene el Código MORSE?

Módulo 36.

¿Qué módulo tienen las notas musicales?

Módulo 8.

Tabla periódica de elementos de la Figura 2.C.8 asigna a cada elemento un símbolo.

¿Qué módulo tiene?

Módulo 104.

Figura 2.C.8. Tabla periódica de elementos

Page 61: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 61 de 91

2.C.4. Códigos de Largo Fijo y Variable

DEFINICIÓN: Se denominan códigos de largo fijo a aquellos cuyas combinaciones

poseen siempre a misma cantidad de caracteres: por ejemplo, vocales mayúsculas

y minúsculas (cada combinación tiene 1 solo carácter).

DEFINICIÓN: Por otra parte, se denominan códigos de largo variable a aquellos

cuyas combinaciones difieren en su longitud: Código Morse (hay letras cuya

representación es de 2 caracteres, otras de 3 y otras de 4)

¿La Tabla Periódica es un código de largo fijo o variable?

Posee Largo Variable. ¿Por qué?

2.C.5. Códigos BCD

La computadora representa internamente todo lo que se le ingresa (datos e instrucciones

de programa) y todo lo que devuelve (información), por medio de elemento biestables

llamados bit (binary digit). Esos elementos biestables físicos (estados de un circuito,

campos magnéticos, perforaciones en una superficie, etc.) son representados

lógicamente por medio de 0 y 1. Se han inventado diferentes códigos que atienden a esa

necesidad.

DEFINICIÓN: Se denominan BCD (Binary Coded Decimal = Decimal Codificado

en Binario) a aquellos códigos que representan los dígitos decimales (0 al 9) por

medio de dígitos binarios (0 y 1).

Veamos algunos ejemplos en las Tablas 2.C.3 y 2.C.4:

Tabla 2.C.3: BCD INVENTO Tabla 2.C.4: BCD NUEVO

0 1111 0 1

1 1010 1 11

2 0001 2 111

3 1000 3 1111

4 1011 4 0

5 0011 5 01

6 1001 6 001

7 0101 7 0001

8 1100 8 10

9 0000 9 100

Observando los 2 ejemplos se responden las siguientes preguntas:

¿Son códigos?

SI. Ambos representan a cada elemento en forma biunívoca (sin repeticiones, no sobra

ni falta ninguno dígito decimal, ni tampoco su representación por medio de 0 y 1).

Page 62: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 62 de 91

¿Son BCD?

SI. Porque representan los 10 dígitos decimales utilizando solamente combinaciones de

0 y 1.

¿Qué módulo tienen?

Ambos representan 10 símbolos (los 10 dígitos decimales), por lo tanto su MÓDULO

ES 10.

¿Qué largo tienen?

El primer código es de largo fijo ( todas las combinaciones tienen 4 dígitos binarios), el

segundo es de largo variables ( algunas combinaciones tienen un solo dígito binario,

otras 2, 3 y hasta 4).

2.C.5.1. Códigos pesados

Se presenta un nuevo código, en la Tabla 2.C.5:

Tabla 2.C.5: BCD 8421

DÍGITO

DECIMAL

REPRESENTACIÓN

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

Sus características son: es BCD, módulo 10 y largo fijo.

Este código tiene una nueva característica: ES PESADO.

DEFINICIÓN: Un código es pesado cuando cada columna de la representación

binaria posee un peso. Cada dígito decimal se genera a partir de su representación

binaria mediante la suma de los productos de los pesos de las columnas por el

binario correspondiente en su representación.

Utilizando el código del ejemplo anterior se designan los pesos de las columnas, como

se puede observar en la Tabla 2.C.6:

Page 63: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 63 de 91

Tabla 2.C.6: BCD 8421 con pesos en cada columna.

PESOS

DÍGITO

DECIMAL

8 4 2 1

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

De esta forma, cualquier dígito decimal se representa como suma de los pesos de las

columnas que están en 1 en su combinación (los que están en 0 se anulan):

La Tabla 2.C.7 permite observar un ejemplo: el número 3 expresado en BCD 8421.

Tabla 2.C.7: Ejemplo de codificación del 3 en BCD 8421

PESO 8 4 2 1 SUMA

COMBINACIÓN 0 0 1 1

PRODUCTO DE

CADA BIT POR

EL PESO DE SU

COLUMNA

0*8 0*4 1*2 1*1

DIGITO

DECIMAL

REPRESENTADO

SUMA 0 0 2 1 0+0+2+1= 3

Otro ejemplo, es presentado en la Tabla 2.C.8: El 9 expresado en BCD 8421

Tabla 2.C.8: Ejemplo de codificación del 9 en BCD 8421

PESO 8 4 2 1 SUMA

COMBINACIÓN 1 0 0 1

PRODUCTO DE

CADA BIT POR

EL PESO DE SU COLUMNA

1*8 0*4 0*2 1*1

DIGITO

DECIMAL

REPRESENTADO

SUMA 8 0 0 1 8+0+0+1= 9

Los códigos BCD pesados se denominan según el peso de sus columnas. El código de

nuestro ejemplo es el BCD 8421, también llamado Binario Natural.

Page 64: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 64 de 91

No hay que confundirlo con el sistema de numeración binario, ya que BCD 8421 es

simplemente un código que permite representar los 10 dígitos decimales.

La Figura 2.C.9 muestra un ejemplo:

Se representa el número 24 10 en sistema de numeración binario y en BCD 8421:

Figura 2.C.9.: Representación en Sistema de Numeración Binario del número 24 10

El resultado es: 24 10 = 11000 2

A continuación se representa el número 24 10 en BCD 8421, como muestra la Tabla 4.9.

Se reemplaza cada dígito por su representación en el código, en este caso BCD 8421.

Tabla 2.C.9: Representación en BCD 8421 del número 24 10

DÍGITO

DECIMAL 2 4

REPRESENTACIÓN

EN BCD 8421 0010 0100

El resultado es: 24 10 = 0010 0100

La Tabla 2.C.10 muestra los resultados de representar el número 24 10 en Sistema de

Numeración Binario y en BCD 8421.

Tabla 2.C.10: Comparación de resultados.

REPRESENTACIÓN EN SISTEMA DE

NUMERACIÓN BINARIO REPRESENTACIÓN EN BCD 8421

11000

0010 0100

Como se puede observar las representaciones son distintas.

Se presentan a continuación, en la Tabla 2.C.11, otros ejemplos de códigos pesados:

24 2

04 12 2

0/ 0/ 6 2

0/ 3 2

1/ 1 2

1/ 0

Page 65: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 65 de 91

Tabla 2.C.11: Ejemplos de Códigos pesados.

BCD

642-3

COMBINACIONES

RECHAZADAS

BCD

5421

COMBINACIONES

RECHAZADAS

BCD

4221

COMBINACIONES

RECHAZADAS

0 0000 0 0000 0 0000

1 0101 1 0001 1 0001

2 0010 2 0010 2 0010 0100

3 1001 3 0011 3 0011 0101

4 0100 4 0100 4 0100 0110

5 1011 5 1000 0101 5 1001 0111

6 1000 0110 6 1001 0110 6 1010 1100

7 1101 7 0111 1010 7 1011 1101

8 1010 8 1011 8 1110

9 1111 9 1100 9 1111

Como se puede observar cada dígito decimal se representó sumando los pesos de las

columnas, en algunos casos se ofrecían más de una posible combinación, lo cual es

IMPOSIBLE, ya que entonces NO ES CÓDIGO.

Por lo tanto, seleccionamos UNA de las representaciones y rechazamos la/s otra/s.

2.C.5.2. ¿Cómo determinar si un Código es Pesado?

Se utiliza como ejemplo el siguiente código, mostrado en la Tabla 2.C.12:

Se buscan aquellas combinaciones que tienen un sólo 1.

Tabla 2.C.12: Ejemplo para determinar si un código es pesado.

DÍGITO

DECIMAL

¿PESO 4º

COLUMNA?

¿PESO 3º

COLUMNA?

¿PESO 2º

COLUMNA?

¿PESO 1º

COLUMNA?

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

1 = 0001 Se debe cumplir que 1= Peso 1º Columna *1 por lo tanto la única forma de

lograrlo es que la 1º columna de la derecha pese 1.

2= 0010 Se debe cumplir que 2= Peso 2º Columna *1 por lo tanto la única forma de

lograrlo es que la 2º columna de la derecha pese 2.

Page 66: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 66 de 91

4= 0100 Se debe cumplir que 4= Peso 3º Columna *1 por lo tanto la única forma de

lograrlo es que la 3º columna de la derecha pese 4.

8=1000 Se debe cumplir que 8= Peso 4º Columna *1 por lo tanto la única forma de

lograrlo es que la 4º columna de la derecha pese 8.

Se corrobora si los pesos calculados generan todos los otros dígitos:

0 = 0000 Se cumple que 0 = 0 * 8 + 0*4 + 0 * 2 + 0 * 1

3 = 0011 Se cumple que 3 = 0 * 8 + 0*4 + 1 * 2 + 1 * 1

5 = 0101 Se cumple que 5 = 0 * 8 + 1*4 + 0 * 2 + 1 * 1

6 = 0110 Se cumple que 6 = 0 * 8 + 1*4 + 1 * 2 + 0 * 1

7 = 0111 Se cumple que 7 = 0 * 8 + 1*4 + 1 * 2 + 1 * 1

9 = 0111 Se cumple que 9 = 1 * 8 + 1*4 + 1 * 2 + 1 * 1

Por lo tanto se puede afirmar que este código ES PESADO. Sus pesos son 8421 como

se calculó.

OTRO EJEMPLO

Se propone ahora el siguiente código en la Tabla 2.C.13. Se desea determinar si es un

código pesado. En caso de no serlo se desea conocer la razón.

Tabla 2.C.13: ¿Es un código pesado?

DÍGITO

DECIMAL

¿PESO 4º

COLUMNA?

¿PESO 3º

COLUMNA?

¿PESO 2º

COLUMNA?

¿PESO 1º

COLUMNA?

0 0 0 1 1

1 0 0 0 1

2 0 0 1 0

3 1 0 1 1

4 0 1 0 0

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

1 = 0001 Se debe cumplir que 1= Peso 1º Columna *1 por lo tanto la única forma de

lograrlo es que la 1º columna de la derecha pese 1.

2 = 0010 Se debe cumplir que 2= Peso 1º Columna *1 por lo tanto la única forma de

lograrlo es que la 1º columna de la derecha pese 2.

Pero 0 = 0011 entonces se debería verificar que 0 = 0 * 8 + 0 * 4 + 1 * 2 + 1 * 1 , pero

esta suma da 3, por lo tanto el código NO ES PESADO

Page 67: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 67 de 91

2.C.6. Distancia de un código

Se utiliza nuevamente el código BCD 8421 para explicar este nuevo concepto.

Vamos a contar ahora cuantos bits cambian entre dos combinaciones cualesquiera,

como muestra la Tabla 2.C.14:

Tabla 2.C.14: Cantidad de bits que cambian entre dos combinaciones cualesquiera.

DIGITO DECIMAL REPRESENTACIÓN EN BCD 8421

0

0000

7

0111

En este caso entre la representación del 0 (0000) y la del 7 (0111), han cambiado 3 bits.

DEFINICIÓN: Se denomina DISTANCIA entre dos combinaciones cualesquiera

de un código, a la cantidad de bits que cambian entre una combinación y la otra.

Por lo tanto la DISTANCIA entre estas dos combinaciones es 3. Se analiza a

continuación el BCD 8421 completo, como se muestra en la Tabla 2.C.15:

Tabla 2.C.15: Distancia entre algunas combinaciones de BCD 8421

DÍGITOS

DECIMALES

BCD

8421

BITS QUE CAMBIAN

ENTRE COMBINACIONES

0

0000

1

1 0001

2

2 0010

1

3 0011

3

4 0100

3

5 0101

1

6 0110

1

7 0111

4

8 1000

1

9 1001

Page 68: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 68 de 91

Se observa que, por ejemplo entre 0 (0000) y 1 (0001) sólo cambia 1 bit, es decir, la

distancia entre esas dos representaciones es 1.

Lo mismo ocurre entre (aunque no sean adyacentes), 0 y 2, 0 y 4, 0 y 8 y varios pares

más de combinaciones.

DEFINICIÓN: se denomina DISTANCIA DE UN CÓDIGO, a la MENOR de las

distancias entre TODAS las combinaciones del código.

Se infiere de la definición que si se encuentra que entre dos combinaciones la distancia

es 1, entonces el código tiene DISTANCIA 1, ya que no existe una distancia menor.

Consecuentemente el código BCD 8421 tiene distancia 1

¿Por qué la distancia nunca puede ser 0?

Porque 2 combinaciones serían iguales entonces NO HAY CÓDIGO.

2.C.6.1. Códigos Progresivos

Código de Johnson

Se presenta en la Tabla 2.C.16 el siguiente código denominado Código de Johnson-

Mobius:

Tabla 2.C.16: Código de Johnson

DÍGITO

DECIMAL

BCD

JOHNSON

0 00000

1 00001

2 00011

3 00111

4 01111

5 11111

6 11110

7 11100

8 11000

9 10000

La Tabla 2.C.17 permite observar que la distancia entre combinaciones adyacentes del

Código Johnson es SIEMPRE 1.

Page 69: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 69 de 91

Tabla 2.C.17: Distancia de combinaciones adyacentes en Código Johnson

DÍGITO

DECIMAL

BCD

JOHNSON

0 00000

1 00001

2 00011

3 00111

4 01111

5 11111

6 11110

7 11100

8 11000

9 10000

El Código de Johnson posee asimismo varias particularidades:

Es un código SIN PESO. Se sugiere que el alumno lo verifique.

Cada combinación tiene 5 bits. Permite representar 2*5 = 10 dígitos (en general 2*n

símbolos, donde n es la cantidad de bits de cada combinación)

DEFINICIÓN: Un código es PROGRESIVO, cuando cada combinación difiere de

la anterior y siguiente en uno de sus dígitos.

A este tipo de códigos también se los denomina CONTINUOS.

DEFINICIÓN: Un código es CERRADO, cuando es PROGRESIVO y además la

distancia entre la primera y última combinación del código también es 1.

A este tipo de códigos también se los denomina CÍCLICOS.

Como el Código de Johnson posee ambas características es PROGRESIVO Y

CERRADO.

DISTANCIA 1

CAMBIA UN SOLO

BIT ENTRE LA

PRIMERA Y ÚLTIMA

REPRESENTACIÓN

Page 70: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 70 de 91

Estas propiedades permiten que a partir de un Código Johnson se puedan generar 9

códigos Johnson más, simplemente asignando cada combinación al dígito binario

siguiente, como se muestran a continuación en la Tabla 2.C.18 (se puede pensar que la

tabla del Código Johnson es circular):

Tabla 2.C.18: Códigos Johnson

0 00000 0 10000 0 11000 0 11100

1 00001 1 00000 1 10000 1 11000

2 00011 2 00001 2 00000 2 10000

3 00111 3 00011 3 00001 3 00000

4 01111 4 00111 4 00011 4 00001

5 11111 5 01111 5 00111 5 00011

6 11110 6 11111 6 01111 6 00111

7 11100 7 11110 7 11111 7 01111

8 11000 8 11100 8 11110 8 11111

9 10000 9 11000 9 11100 9 11110

En todos los casos el código generado sigue siendo PROGRESIVO Y CERRADO por

esta razón se utiliza en el control de sistemas digitales sencillos de muy alta velocidad.

Código de Gray

Fue inventado por el investigador Alessandre Frank Gray y quien lo patentó en 1947.

Tiene por característica ser un código progresivo y reflejado de acuerdo a la forma de

generar cada elemento. Se genera de la siguiente forma, como se muestra en la Tabla

2.C.19:

Se comienza por escribir los dos dígitos binarios 0 y 1, que serán reflejados, es decir “se

miran en un espejo”, por lo tanto quedan invertidos.

Tabla 2.C.19: Generación de Código Gray.

A CONTINUACIÓN SE LOS REFLEJA

SE COMPLETA CON 0 ARRIBA Y

CON 1 ABAJO DEL ESPEJO

0

1

1º ESPEJO

00

01

1º ESPEJO

1

0

11

10

Page 71: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 71 de 91

SE VUELVE A REFLEJAR SE COMPLETA NUEVAMENTE CON 0

ARRIBA Y CON 1 ABAJO DEL ESPEJO

00

01

11

10

2º ESPEJO

000

001

011

010

2º ESPEJO

10

11

01

00

110

111

101

100

SE REFLEJA POR ÚLTIMA VEZ

SE COMPLETA NUEVAMENTE CON 0

ARRIBA Y CON 1 ABAJO DEL ESPEJO

000

001

011

010

110

111

101

100 3º ESPEJO

0000

0001

0011

0010

0110

0111

0101

0100 3º ESPEJO

100

101

111

110

010

011

001

000

1100

1101

1111

1110

1010

1011

1001

1000

Page 72: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 72 de 91

Una forma de chequear si se ha generado el código Gray en forma correcta, es verificar

si la primera combinación resultante es 0000 y la última 1000.

Como se puede apreciar se han obtenido 16 combinaciones, pero por ser un BCD sólo

se deben seleccionar 10, las otras 6 se descartan.

Esto da lugar, al igual que en el caso del código Johnson, a que haya varios códigos

Gray distintos, según cuales sean las combinaciones seleccionadas y cuales las

descartadas, como muestra la Tabla 2.C.20.

Las zonas sombreadas de las tablas son las 10 combinaciones seleccionadas en cada

caso.

Tabla 2.C.20: Códigos Gray

GRAY GRAY

EXCESO

3

GRAY SIN

LAS 6

CENTRALES

0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

2 0 0 1 1 0 0 1 1 2 0 0 1 1

3 0 0 1 0 0 0 0 1 0 3 0 0 1 0

4 0 1 1 0 1 0 1 1 0 4 0 1 1 0

5 0 1 1 1 2 0 1 1 1 0 1 1 1

6 0 1 0 1 3 0 1 0 1 0 1 0 1

7 0 1 0 0 4 0 1 0 0 0 1 0 0

8 1 1 0 0 5 1 1 0 0 1 1 0 0

9 1 1 0 1 6 1 1 0 1 1 1 0 1

1 1 1 1 7 1 1 1 1 1 1 1 1

1 1 1 0 8 1 1 1 0 5 1 1 1 0

1 0 1 0 9 1 0 1 0 6 1 0 1 0

1 0 1 1 1 0 1 1 7 1 0 1 1

1 0 0 1 1 0 0 1 8 1 0 0 1

1 0 0 0 1 0 0 0 9 1 0 0 0

Es posible observar que los tres códigos son progresivos y Gray XS 3 Y Gray sin las 6

combinaciones centrales son también cerrados, ya que por ser códigos reflejados, al ser

eliminadas combinaciones simétricas con respecto al 3º espejo, se mantienen cerrados.

Los códigos Gray son muy utilizados en diversas aplicaciones industriales, científicas,

tecnológicas, etc., ya que reduce las posibilidades de fallos por errores en el código. Por

ejemplo: en sistemas de posición lineal o angular, para corrección de errores en sistemas

de comunicaciones como televisión digital y por cable, en diseño de circuitos

electrónicos mediante Mapas de Karnaugh, para conversión analógica / digital, etc. En

robótica, las posiciones angulares de los ejes se detectan mediante unos discos

codificados denominados encoders (Figura 2.C.9) que proporcionan una combinación

binaria de código Gray correspondiente a una posición, permitiendo dar información

sobre la velocidad del movimiento.

Page 73: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 73 de 91

Figura 2.C.9: Discos codificados (encoders)11

Si la detección es óptica, en el disco se encuentran sectores transparentes y opacos, en

una de las caras se aplica una fuente de luz (fototransistores) y dependiendo de la

posición del disco, la luz llegará a uno u otros sensores, según la posición del disco se

producirán diferentes combinaciones de sensores activados y no activados, como

muestra la Figura 2.C.10.

Figura 2.C.10: Detección óptica12

Código Aiken

Este código fue creado por Howard Aiken de la Universidad de Harvard y uno de los

pioneros de la informática.

Tiene una característica muy especial:

DEFINICIÓN: Un código es AUTOCOMPLEMENTADO cuando dos dígitos

decimales que sean complemento a la base menos 1 entre sí, en el código sus

representaciones son también complemento a la base menos 1 entre sí .

En el capítulo anterior se desarrolló el tema complemento de un número ( a la base y a

la base-1) y se destacó que dentro de sus aplicaciones se encontraba la de facilitar los

cálculos y permitir transformar las restas en sumas.

11

mundoelectronics.blogspot.com 12

forosdeelectronica.com

Page 74: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 74 de 91

También es importante recordar que:

C B-1 de 1 = 0

C B-1 de 0 = 1

Aiken utilizó el concepto de complemento a la base -1 para desarrollar un BCD pesado.

Recordemos que en decimal :

El C B-1 de 0 es 9 y viceversa, ya que 9-0= 9.

El C B-1 de 1 es 8 y viceversa, ya que 9-1= 8.

El C B-1 de 2 es 7 y viceversa, ya que 9-2= 7.

El C B-1 de 3 es 6 y viceversa, ya que 9-3= 6.

El C B-1 de 4 es 5 y viceversa, ya que 9-4= 5.

Código BDC 2421 o Código de Aiken

Se genera el código que muestra la Tabla 2.C.21 aplicando los pesos. Se puede

observar que de 0 a 4 coincide con BCD 8421.

Tabla 2.C.21.: Código Aiken.

DÍGITOS

DECIMALES

BCD 2421 GENERACIÓN DEL CÓDIGO

0 0000 IGUAL QUE EL 0 EN BCD 8421

1 0001 IGUAL QUE EL 1 EN BCD 8421

2 0010 IGUAL QUE EL 2 EN BCD 8421

3 0011 IGUAL QUE EL 3 EN BCD 8421

4 0100 IGUAL QUE EL 4 EN BCD 8421

5

1011

ESTA COMBINACIÓN SE OBTIENE CAMBIANDO 0

POR 1 Y 1 POR 0 DE LA COMBINACIÓN

CORRESPONDIENTE AL 4, PORQUE 4 ES EL

COMPLEMENTO A LA BASE -1 DE 5

6

1100

ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0

POR 1 Y 1 POR 0 DE LA COMBINACIÓN

CORRESPONDIENTE AL 3, PORQUE 3 ES EL

COMPLEMENTO A LA BASE -1 DE 6

7

1101

ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0

POR 1 Y 1 POR 0 DE LA COMBINACIÓN

CORRESPONDIENTE AL 2, PORQUE 2 ES EL

COMPLEMENTO A LA BASE -1 DE 7

8

1110

ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0

POR 1 Y 1 POR 0 DE LA COMBINACIÓN

CORRESPONDIENTE AL 1, PORQUE 1 ES EL

COMPLEMENTO A LA BASE -1 DE 8

9

1111

ESTA COMBIACIÓN SE OBTIENE CAMBIANDO 0

POR 1 Y 1 POR 0 DE LA COMBINACIÓN

CORRESPONDIENTE AL 0, PORQUE 0 ES EL

COMPLEMENTO A LA BASE -1 DE 9

Page 75: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 75 de 91

Como es posible observar, este código es AUTOCOMPLEMENTADO porque si dos

dígitos son uno C B-1 de otro, sus combinaciones en binario también son C B-1 una de

otra. Cada cifra es el complemento a 9 de la cifra simétrica en todos sus dígitos.

Esta propiedad, permite que los cálculos puedan realizarse con circuitos más sencillos.

BCD EXCESO 3. BCD XS 3.

Este nuevo código NO ES PESADO y tiene como característica importante ser

AUTOCOMPLEMENTADO.

Se denomina BCD EXCESO 3 por ser igual que BCD 8421 pero cada combinación se

halla desplazada 3 lugares hacia abajo. Es decir: 0 ES 0011 (3 en BCD 8421), 1 ES

0100 (4 en BCD 8421), etc., como muestra la Tabla 2.C.22

Como se puede apreciar es un código NO PESADO y AUTOCOMPLEMENTADO

Tabla 2.C.22.: Código BCD XS 3

DÍGITOS

DECIMALES

BCD XS 3 GENERACIÓN DEL CÓDIGO

0 0011 Se escribe como 0+3=3 (0011)

1 0100 Se escribe como 1+3= 4 (0100)

2 0101 Se escribe como 2+3=5 (0101)

3 0110 Se escribe como 3+3=6 (0110)

4 0111 Se escribe como 4+3=7 (0111)

5 1000 Se escribe como 5+3=8 (1000)

6 1001 Se escribe como 6+3=9 (1001)

7 1010 Se escribe como 7+3=10 (1010)

8 1011 Se escribe como 8+3=11(1011)

9 1100 Se escribe como 9+3=12 (1100)

Este código, por ser autocomplementado, facilita los cálculos.

2.C.7. Operaciones con códigos

2.C.7.1. Suma en BCD 8421

Es importante recordar que estamos estudiando códigos, QUE NO ES LO MISMO que

Sistema de Numeración Binario.

En capítulos anteriores se ha visto que la computadora utiliza una unidad llamada ALU

(Unidad Aritmética y Lógica), para realizar operaciones aritméticas y lógicas. Esta

unidad suma binarios, no importa en qué código estén expresados. Consecuentemente el

resultado de la suma está expresado en sistema de numeración binario, (NO en

CÓDIGO BCD).

Page 76: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 76 de 91

El siguiente ejemplo de la Tabla 2.C.23 muestra la diferencia:

Se desean sumar los números 5 10 y 6 10 expresados en:

Tabla 2.C.23.: Comparación entre suma en Sistema Binario y en BCD 8421.

Sistema de Numeración Binario

5 10 …………………………….. 01012

+

7 10 …………………………….. 01112

12 10 ……………………………. 11002

ESTÁ EXPRESADO EN BASE 2

BCD 8421

5 10 …………………………….. 0101

+

7 10 …………………………….. 0111

12 10 ……………………………. 1100

EL RESULTADO NO PERTENECE

AL CÓDIGO BCD 8421

Se recuerda que existen 6 combinaciones de 4 bits que NO PERTENECEN a BCD 8421

y SÍ son números en Base 2.

La Tabla 2.C.24 muestra todas las combinaciones posibles de 4 bits. Estas

combinaciones son:

Tabla 2.C.24: Comparación entre BCD 8421 y Sistema Binario.

Número en

Base 10

BCD 8421 Número en

Base 2

0 0000 0000

1 0001 0001

2 0010 0010

3 0011 0011

4 0100 0100

5 0101 0101

6 0110 0110

7 0111 0111

8 1000 1000

9 1001 1001

10 ------ 1010 COMBINACIONES

11 ------ 1011 QUE NO

12 ------ 1100 PERTENECEN

13 ------ 1101 AL CÓDIGO

14 ------ 1110 BCD 8421

15 ------ 1111 Y SÍ AL SIST. DE

NUMERACIÓN

BINARIO

Por lo tanto, siempre que la suma de dos dígitos supere 9, no pertenece a BCD 8421 y

hay que realizar una corrección para que quede expresada en este código.

Page 77: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 77 de 91

La Tabla 2.C.25 muestra otro ejemplo.

Tabla 2.C.25: Suma en BCD 8421

BCD 8421

2 10 …………………………….. 0010

+

310 …………………………….. 0011

5 10 ……………………………. 0101

El resultado es menor o igual que nueve

(1001)

PERTENECE AL CÓDIGO BCD 8421

NO HAY QUE CORREGIR

BCD 8421

4 10 …………………………….. 0100

+

6 10 …………………………….. 0110

10 10 ……………………………. 1010

El resultado es MAYOR que nueve (1001)

NO PERTENECE AL CÓDIGO BCD

8421

HAY QUE CORREGIR

¿Cuál es la corrección indicada para que el resultado quede expresado en BCD 8421?

La diferencia entre Sistema de Numeración Binario y BCD 8421, está en las 6

combinaciones que NO PERTENECEN AL CÓDIGO.

Por lo tanto hay que “saltarlas”, sumando precisamente 6 (0110) y así el resultado

vuelve a pertenecer a BCD 8421.

La Tabla 2.C.26, muestra otro ejemplo:

Tabla 2.C.26: Suma en BCD 8421

BCD 8421

Expresamos los números con dos dígitos para

entender el procedimiento:

1

0810 ……………………….. 0000 1000

+ +

0910 ……………………….. 0000 1001

1710 …………………………….0001 10001

+

0110

0001 0111

1 7

APARECE UN ACARREO QUE SE SUMA A LA

COLUMNA SIGUIENTE, QUEDANDO ASÍ EL

RESULTADO CORRECTO.

EL RESULTADO DE ESTA

COLUMNA ES MAYOR QUE 9 (ES

17).

CORRECCIÓN SUMAR 6 (0110)

PORQUE EL RESULTADO DE LA

COLUMNA NO PERTENECE A BCD 8421

Page 78: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 78 de 91

Veamos un nuevo ejemplo con números de 3 cifras, mostrado en la Tabla 2.C.27:

Tabla 2.C.27: Ejemplo con suma de números de 3 cifras

1 1 1

0768 10 0000 0111 0110 1000

+ 0839 10 + 0000 + 1000 + 0011 + 1001

1607 10 0001 10000 1010 10001

RESULTADO

MAYOR

QUE 9

SUMAR 6

RESULTADO

MAYOR

QUE 9

SUMAR 6

RESULTADO

MAYOR

QUE 9

SUMAR 6

CORREC-

CIÓN

+ + 0110 + 0110 + 0110

0001 0110 10000 0111

1 6 0 7

RESUMIENDO

SUMA EN BCD 8421

SE CORRIGE CUANDO EL RESULTADO NO PERTENECE AL CÓDIGO BCD

8421, como muestra la Tabla 2.C.28.

Tabla 2.C.28: Corrección para suma en BCD 8421

RESULTADO SIN CARRY > 1001 (9) RESULTADO CON CARRY > 1111 (15)

SUMO 0110 (6) SUMO 0110 (6)

SUMA EN BCD XS 3

Recordemos las características del código BCD XS 3:

AUTOCOMPLEMENTADO

SIN PESO

Sin embargo, debido a que este código se genera en base al BCD 8421 desplazado 3

lugares “hacia abajo”, para lograr un código autocomplementado, es apto para realizar

operaciones aritméticas.

Es importante volver a enfatizar que la encargada de realizar las operaciones es la ALU,

que recibe binarios, suma binarios y calcula el resultado en binario (NO EN BCD XS

3). Por lo tanto, como en el caso anterior, también será necesario efectuar correcciones

para obtener el resultado expresado en BCD XS 3.

A continuación se analiza el siguiente caso que muestra la Tabla 2.C.29:

Se suman 1 + 1 en sistema de numeración decimal.

Page 79: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 79 de 91

Tabla 2.C.29: Ejemplo de suma en BCD XS 3

SISTEMA

DECIMAL

SISTEMA

BINARIO

(EN 4

BITS)

SUMAMOS

0011 A CADA

DÍGITO PARA

EXPRESARLO

EN BCD XS 3

BCD

XS 3

1 0001 0001 + 0011 0100

+ 1 + 0001 0001 + 0011 + 0100

2 0010 0010 + 0110 EL

RESULTADO

1000

NO

HUBO

CARRY

2 + 6 TIENE 6 DE

MÁS

CORRECCIÓN

HAY QUE

RESTAR 3

(0011) PARA

VOLVER A

EXPRESARLO

EN XS 3

A continuación se analiza este otro caso que muestra la Tabla 2.C.30:

Se suman 8 + 9 en sistema de numeración decimal.

Tabla 2.C.30: Otro ejemplo de suma en BCD XS 3

SIST.

DECI-

MAL

SISTEMA

BINARIO

(EN 8

BITS)

SUMAMOS

0011 A CADA

DÍGITO PARA

EXPRESARLO

EN BCD XS 3

BCD XS 3

1 1 1

08 00001000 1000+0011 0011 1011

+ 09 + 00001001 1001+0011 0011 1100

17 00010001 10001+0110 0111 10111

HUBO

CARRY

17 + 6 = 23

EL

RESULTADO

TIENE 6 DE

MÁS

NO HUBO

CARRY

CORRECCIÓN

HAY QUE

RESTAR 3

(0011) PARA

VOLVER A

EXPRESARLO

EN XS 3

HUBO CARRY

CORRECCIÓN

HAY QUE

SUMAR 3 (0011)

PARA VOLVER

A

EXPRESARLO

EN XS 3

Page 80: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 80 de 91

La Tabla 2.C.31 presenta un nuevo ejemplo con números de 3 cifras:

Tabla 2.C.31: Nuevo ejemplo de suma en BCD XS 3

U. DE MIL CENTENAS DECENAS UNIDADES

1 1 1 11 1

0915 10 0011 1100 0100 1000

0217 10 + 0011 + 0101 + 0100 + 1010

113210 0111 10001 1001 10010

- 0011 + 0011 - 0011 + 0011

0100 0100 0110 0101

1 1 3 2

RESULTADO

NO HUBO

CARRY

RESTAR 3

RESULTADO

HUBO

CARRY

SUMAR 3

RESULTADO

NO HUBO

CARRY

RESTAR 3

RESULTADO

HUBO

CARRY

SUMAR 3

RESUMIENDO

SUMA EN BCD XS 3

SE CORRIGE SIEMPRE, como muestra la Tabla 2.C.32.

Tabla 2.C.32: Corrección para suma en BCD XS 3.

RESULTADO SIN CARRY RESULTADO CON CARRY

RESTO 0011 (3) SUMO 0011 (3)

2.C.8. Seguridad en la transmisión binaria

La información en forma de cadenas de bits que se trasmite dentro de cualquier sistema

de procesamiento de datos o por medio de sistemas teleinformáticos, puede sufrir

modificaciones en la información binaria. Dichas modificaciones pueden producirse por

interferencias internas o externas y su resultado es que un bit cambie su valor, es decir:

un bit cero cambiará a uno, o un bit uno cambiará a cero, siendo éstas las ÚNICAS

alternativas posibles.

El concepto de bit de paridad, es una de las herramientas básicas (otra puede ser por

ejemplo CRC: comprobación de redundancia cíclica es un tipo de función que recibe

un flujo de datos de cualquier longitud como entrada y devuelve un valor de longitud

fija como salida. Pueden ser usadas como suma de verificación para detectar la

Page 81: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 81 de 91

alteración de datos durante su transmisión o almacenamiento) utilizadas para evitar la

propagación de errores en la información transmitida y/o almacenada.

El bit de paridad, consiste en el agregado a la información codificada, de uno o más bits

(llamados bits de paridad), para lograr que la cantidad de bits 1 de la información

codificada sea un número par. Dichos bits agregados, aumentan la distancia del código

y permiten identificar las combinaciones válidas del código, de las combinaciones con

errores.

Se recuerda al lector que distancia de un código es la cantidad mínima de bits que

cambian entre cualquier par de combinaciones de un código.

Si un solo bit cambiara por error en la transmisión, el mensaje cambiará de paridad y el

error se puede detectar (nótese que el bit donde se produzca el error puede ser el mismo

bit de paridad).

La convención más común es que un valor de paridad de 1 indica que hay un número

impar de unos en los datos, y un valor de paridad de 0 indica que hay un número par de

unos en los datos.

La comprobación de paridad no es muy robusta, dado que si cambia más de un bit, el

bit de paridad será válido y el error no será detectado. Por otro lado, la paridad, aunque

puede detectar que hay error, no indica en qué bit se cometió. Los datos se deben

desechar por entero y volverse a transmitir. En un medio ruidoso, una transmisión

correcta podría tardar mucho tiempo o incluso, en el peor de los casos, no darse nunca.

El chequeo de paridad, aunque no es muy bueno, usa un único bit, por lo que produce

muy poca sobrecarga, y además permite la corrección de ese bit si es conocida su

posición.

Un código con PARIDAD PAR EN LOS UNOS, posee una cantidad PAR de unos en

cualquiera de sus combinaciones. Es así que el bit de paridad agregado, se elige de

acuerdo a la cantidad de unos de la combinación del código original. Si la combinación

presentaba, por ejemplo, 3 unos, el bit de paridad agregado debe ser uno, ya que el total

de unos debe ser par (en este caso quedan 4 unos). Por el contrario, si la combinación

presentaba 2 unos, se agrega un cero, ya que el número total de unos era par.

La paridad también puede ser de los siguientes tipos:

PARIDAD PAR EN LOS CEROS (Cantidad par de ceros)

PARIDAD IMPAR EN LOS UNOS. (Cantidad impar de unos)

PARIDAD IMPAR EN LOS CEROS (Cantidad impar de ceros)

El agregado de un bit de paridad implica el aumento de la distancia de un código en una

unidad. Es así que un código de distancia D, pasa a tener distancia D+1 como resultado

de incorporar un bit de paridad.

La Tabla 2.C.33 muestra un ejemplo para el código BCD 8421:

Page 82: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 82 de 91

Tabla 2.C.33: Distancia para BCD 8421

Dígito

decimal BDC 8421

DISTANCIA

Del

Código

BCD 8421

Bit de

paridad

PAR EN

LOS

UNOS

BCD con

agregado de

bit de

paridad

DISTANCIA

(incluyendo

bit de

paridad)

0 0000 1 0 00000 2

1 0001 2 1 00011 2

2 0010 1 1 00101 2

3 0011 3 0 00110 4

4 0100 1 1 01001 2

5 0101 2 0 01010 2

6 0110 1 0 01100 2

7 0111 4 1 01111 4

8 1000 1 1 10001 2

9 1001 2 0 10010

Es posible observar en la tabla que el código BCD 8421 tiene distancia 1 (mínima

distancia entre combinaciones) y que al agregarle un bit de paridad, la distancia

aumentó en 1 (ahora es 2).

La detección de errores en un proceso de transmisión o almacenamiento de información

binaria, implica reconocer la posible modificación de uno o más bits de la cadena.

Existen métodos que permiten detectar errores (es decir, saber si la información llegó

correctamente) , pero lo ideal no sólo es detectar, sino CORREGIR el error, para lo

cual, no sólo es necesario, detectarlo sino además saber LA POSICIÓN del bit erróneo

y de esta manera, corregirlo (simplemente si llegó un cero, cambiarlo por uno y

viceversa).

Si una combinación válida de un código ha sido recibida con un error, la nueva

combinación (con error), posee distancia 1 con respecto a la combinación original.

Ejemplo:

Enviada: 0011

Recibida: 0111

Se puede observar que existe un bit erróneo en la combinación recibida. La distancia

entre ambas combinaciones es 1 porque sólo cambia un bit entre una combinación y la

otra. También observamos que el bit de paridad (par en los unos), nos muestra error

(hay número impar de unos) en la combinación recibida.

Es posible encontrar una relación directa entre la cantidad de errores que este código

puede detectar y corregir y su distancia. A mayor distancia del código, mayor capacidad

de detección y corrección.

Page 83: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 83 de 91

La siguiente inecuación, representa la relación entre la distancia de un código (D), la

cantidad de errores que el código permite detectar (d) y la cantidad de errores que el

código permite corregir (k), debiendo ser d >= k, es decir debe poder detectar igual o

mayor cantidad de errores de los que puede corregir.

D > d + k siendo d>=k

La distancia de un código es mayor que la cantidad de errores que el código puede

detectar más la cantidad de errores que el código puede corregir.

La Tabla 2.C.34 permite observar un ejemplo.

Tabla 2.C.34: Distancia, detección y corrección.

Distancia del

código

(D)

Relación Cantidad de errores que

permite detectar

(d)

Cantidad de errores

que permite corregir

(k)

1 > 0 0

2 > 1 0

3 > 2 0

3 > 1 1

4 > 2 1

4 > 3 0

Para el caso de distancia 3 se pueden detectar 2 errores y corregir ninguno, o detectar 1

y corregir 1.

A continuación se muestra un código de distancia 3, donde las dos únicas

combinaciones que pertenecen al código son: 000 y 111. Al ser transmitido se presentó

un solo error, es decir, se obtuvo una combinación NO VÁLIDA (en el ejemplo: 001,

010, 011, 100, 101 y 110). La Figura 2.C.11 permite visualizar el código, las

combinaciones válidas y erróneas y la distancia entre 000 y 111 (para llegar de 000 a

111 hay que recorrer 3 aristas del cubo).

Figura 2.C.11: Detectar y corregir un error, con distancia 3.

Page 84: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 84 de 91

La Tabla 2.C.34 muestra todas las posibles combinaciones de 3 bits y cuáles de ellas

pertenecen al código y cual son erróneas.

Tabla 2.C.34: Combinaciones válidas y erróneas.

COMBINACIÓN ERRÓNEA

RECIBIDA

(NO PERTENECEN AL CÓDIGO)

COMBINACIÓN VÁLIDA

ENVIADA

(PERTENECEN AL CÓDIGO)

001

010

100

000

011

101

110

111

Por lo tanto si se recibió una combinación con un solo 1, se sabe que se quiso enviar

000, por el contrario si se recibió una combinación con un solo 0, se sabe que se envió

111. Como la codificación es binaria, si se recibe 0 y es erróneo, seguro se envió 1, por

lo tanto sólo basta cambiarlo para obtener el original enviado.

Esta posibilidad es la utilizada en el método que se explicará a continuación y que

permite a los códigos de distancia 1 convertirse en códigos de distancia 3 y así poder

detectar y corregir un bit.

2.C.9. Códigos detectores y correctores de errores: códigos de Hamming

El uso de paridad simple permite la detección de UN SOLO bit de paridad erróneo

recibido. La corrección de dichos errores requiere más información, debido a que la

posición del bit erróneo, debe ser identificada para que el bit erróneo pueda ser

corregido. La corrección consiste simplemente en cambiar el valor del bit erróneo por el

único valor posible, es decir su complemento. La corrección es imposible con el

agregado de un solo bit de paridad, ya que el bit erróneo puede hallarse en cualquier

lugar de la cadena de bits y producirá el mismo resultado: “error de paridad”. Si se

incluyen más bits de paridad, en posiciones que produzcan diferentes resultados de

error, entonces los bits erróneos podrán ser detectados y corregidos.

Veamos ahora un código capaz de detectar y corregir 1 bit en una cadena transmitida.

CÓDIGOS DE HAMMING

Richard Hamming (1915-1998) trabajó en los laboratorios Bell en los años 40 en la

computadora del modelo V de Bell, un monstruo electromecánico basado en relés con

velocidad de proceso de hertzs. La entrada se alimentaba con tarjetas perforadas en las

que, con frecuencia, se cometían errores al ser leídas. En cada jornada, los errores

encontrados se indicaban mediante luces de destello para que los operadores pudieran

corregir el problema. Fuera de las horas laborales y durante los fines de semana, cuando

no había operadores, la máquina se dejaba preparada para el trabajo de la siguiente

jornada. Hamming trabajando los fines de semana, se sentía frustrado cada vez que tenía

Page 85: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 85 de 91

que recomenzar sus programas debido a la falta de fiabilidad del lector de tarjetas. Los

siguientes años trabajó en el problema de error-corrección, desarrollando un arsenal de

algoritmos cada vez más eficaces. En 1950 publicó lo que ahora se conoce como código

de Hamming, que aún hoy sigue siendo utilizado.

El método de Hamming, permite convertir cualquier código de distancia 1 (sin importar

la cantidad de bits que lo componen) en un código de distancia 3, formulando

ecuaciones parciales de paridad par.

El método plantea que la cantidad de bits de paridad, necesarios para una cantidad de

bits de datos, se determina a partir de la siguiente relación:

X + P < 2 p

Siendo X: cantidad de bits de datos. P: cantidad de bits de paridad.

La cantidad de bits de datos(X) más la cantidad de bits de paridad (P) es menor que 2

elevado a la cantidad de bits de paridad (P).

En la siguiente Tabla 2.C.35 observamos la cantidad de bits de paridad requeridos según

el tamaño de bits a enviar:

Tabla 2.C.35: Cantidad de bits de paridad según total de bits a enviar

Cantidad Máxima de

bits de información a

enviar

X

Cantidad de bits

de paridad

P

TOTAL

Bits a

enviar

2 p

4 + 3 7 < 23=8

11 + 4 15 < 24=16

26 + 5 31 < 25=32

57 + 6 63 < 26=64

120 + 7 127 < 27=128

247 + 8 255 < 28=256

502 + 9 511 < 29=512

1013 + 10 1023 < 210

=1024

Es posible observar que cuanto mayor es la cantidad de bits a enviar el código se hace

más eficiente, ya que la relación entre bits a enviar y bits de paridad es mucho mayor.

Para enviar 1013 bits se necesitan sólo 10 bits de paridad (relación 100 a 1), mientras

que para enviar 4 bits de información se necesitan 3 bits de paridad (relación casi 1 a 1).

Para menos de 3 bits de paridad, no se utiliza.

El método utilizado por Hamming para definir su código consiste en ubicar los bits de

paridad en posiciones que son potencias de 2.

Se explicará el método por medio de un ejemplo:

PRIMERO SE REALIZARÁ EL ENVÍO DEL MENSAJE:

Page 86: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 86 de 91

Se desea enviar una palabra de 4 bits correspondiente al número 9 codificado en BCD

8421. Deseamos enviar los siguientes 4 bits 1001.

Según la tabla anterior para esta cantidad de bits de información se deben insertar 3 bits

de paridad y lo haremos en las posiciones que son potencias de 2.

UBICACIÓN DE LOS BITS DE PARIDAD

Cada número decimal que no sea potencia de 2, se puede expresar con 2 o más

potencias de 2 DE MANERA ÚNICA (recordemos el Teorema Fundamental de la

Numeración).

La Figura 2.C.14 permite observar con que potencias de 2 se forman cada una de las

posiciones de los bits de datos.

Figura 2.C.14: Potencia de 2 que forman cada posición

En cada círculo podemos ver una posición de bit de paridad (en verde, violeta y

naranja) y en cada intersección, la posición del bit de datos generado como la suma de

las posiciones de los bits de paridad (en azul).

La posición 3 es la suma de 1+2

La posición 5 es la suma de 1+4

La posición 6 es la suma de 2+4

La posición 7 es la suma de 1+2+4 (intersección de los 3 círculos)

El cambio del bit que ocupa la posición, pensado como error, implica el cambio de por

lo menos 2 de los bits ubicados en los lugares potencias de 2.

Es así que la distancia mínima de este código es 3 (el bit erróneo, más por lo menos 2

bits de paridad de control).

P0

0

1

2

4

3

7

6

5

Page 87: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 87 de 91

Los 3 bits de paridad están ubicados en las posiciones 1, 2 y 4 del mensaje y están

relacionados con los bits de datos ubicados en las posiciones 3, 5, 6 y 7.

Posición P1 P2 X3 P4 X5 X6 X7

bit ? ? 1 ? 0 0 1

Ahora bien, ¿cómo calculamos los valores de los 3 bits de paridad P1, P2 y P4?

Se tiene un mensaje compuesto por 4 bits de datos (marcados con X) como ya fue

expresado anteriormente, se tomará como ejemplo el 1001 (el número decimal 9 en el

código BCD 8421). A ese mensaje original se le agregan 3 bits de paridad, lo que eleva

el largo total del mensaje a 7 bits (4 de información y 3 de paridad). Los 3 bits de

paridad agregados son bits de PARIDAD PAR EN LOS UNOS.

Como es posible observar, el cambio de un bit cualquiera de los 7 bits disponibles,

afecta SOLAMENTE a los bits de paridad asociados al bit que cambió y para cada bit

de datos esta combinación de bits de paridad ¡ES ÚNICA !

Cambiar el bit 1 NO PRODUCE cambios en los otros bits, porque 1=20, es potencia

entera de 2

Cambiar el bit 2 NO PRODUCE cambios en los otros bits, porque 2=21, es potencia

entera de 2

Cambiar el bit 3 PRODUCE CAMBIOS en los bits 1 y 2, porque 3=1 + 2

Cambiar el bit 4 NO PRODUCE cambios en los otros bits, 4=22, es potencia entera de 2

Cambiar el bit 5 PRODUCE CAMBIOS en los bits 1 y 4, porque 5=1 + 4

Cambiar el bit 6 PRODUCE CAMBIOS en los bits 2 y 4, porque 6=2 + 4

Cambiar el bit 7 PRODUCE CAMBIOS en los bits 1, 2 y 4, porque 7 = 1 + 2 + 4

Esta verificación se realiza simplemente expresando las posiciones de cada bit por

medio de potencias de 2, como vimos cuando estudiamos sistema de numeración

binario.

Entonces se arman las siguientes ecuaciones para calcular los valores de cada bit de

paridad, como muestra la Tabla 2.C.36:

Tabla 2.C.36: Valores de cada bit de paridad

Bit de paridad Bits de datos

P4 = Paridad PAR (X5, X6, X7)

P2 = Paridad PAR (X3, X6, X7)

P1 = Paridad PAR (X3, X5, X7)

Como cada entero tiene una única representación formada por potencias de 2, las

ecuaciones planteadas son independientes y por lo tanto presentan una solución

Page 88: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 88 de 91

única, que indicará cual fue el bit erróneo. Con esa información, corregirlo es muy

simple, ya que si se recibió un 0 y es erróneo, seguro fue enviado un 1. Lo mismo

sucede si se recibió un 1 y es erróneo, seguro se envió un 0. En ambos casos sólo queda

corregirlo.

Para el ejemplo del número 1001, se reemplaza cada ubicación por su bit

correspondiente y se calcula el bit de paridad, como se muestra en la Tabla 2.C.37.

Tabla 2.C.37: Cálculo de bit de paridad.

Bit de paridad Bits de datos asociados

al bit de paridad Calcular

Bit de paridad

calculado para

obtener

PARIDAD PAR

EN LOS 1

P4 (X5, X6, X7) Paridad PAR

(0,0,1) 1

P2 (X3, X6, X7) Paridad PAR

(1,0,1) 0

P1 (X3, X5, X7) Paridad PAR

(1,0,1) 0

La siguiente Figura 2.C.15 muestra los bits de paridad calculados.

Figura 2.C.15: Bits de paridad del ejemplo.

El mensaje queda codificado en la siguiente forma, como muestra la Tabla 2.C.38:

P0

0

P1

0

P2

0

P4

1

X3

1

X7

1

X6

0

X5

0

Page 89: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 89 de 91

Tabla 2.C.38: Mensaje codificado

Posición P1 P2 X3 P4 X5 X6 X7

bit 0 0 1 1 0 0 1

MENSAJE: 0011001

Ya está listo para ser enviado.

Ahora se verá que sucede cuando el mensaje es recibido.

Se analizará si el mensaje ha sido recibido sin error, siguiendo el método de Hamming,

planteando ecuaciones para cada posición de bit de paridad. Se recuerda que dichas

ecuaciones son INDEPENDIENTES y permiten DETECTAR el bit erróneo y

posteriormente CORREGIRLO, como se expresa en la Tabla 2.C.39.

Tabla 2.C.39: Ecuaciones y estados según su paridad.

ECUACIÓN

SIN ERROR

CON ERROR

E4 = Paridad (P4,X5, X6, X7)

PARIDAD PAR PARIDAD IMPAR

E2 = Paridad (P2,X3, X6, X7)

PARIDAD PAR PARIDAD IMPAR

E1 = Paridad (P1,X3, X5, X7)

PARIDAD PAR PARIDAD IMPAR

En el caso de haber errores, una o más ecuaciones no responderá al cálculo de paridad

par. Los resultados pueden observarse en la siguiente Tabla 2.C.40:

Tabla 2.C.40: Resultados según paridad.

E4 E2 E1 BIT ERRÓNEO

PAR PAR PAR NINGUNO

PAR PAR IMPAR P1

PAR IMPAR PAR P2

PAR IMPAR IMPAR X3

IMPAR PAR PAR P4

IMPAR PAR IMPAR X5

IMPAR IMPAR PAR X6

IMPAR IMPAR IMPAR X7

Ejemplo: Se ha recibido el siguiente mensaje de un dígito codificado en BCD 8421,

siguiendo los criterios de Hamming:

0011011

La Tabla 2.C.41 muestra la posición de cada bit dentro del mensaje

Page 90: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 90 de 91

Tabla 2.C.41: Posición de cada bit

Posición P1 P2 X3 P4 X5 X6 X7

bit 0 0 1 1 0 1 1

Para ello se arman las ecuaciones de cada bit de paridad con sus bits de datos asociados.

Cada ecuación debe poseer PARIDAD PAR EN LOS 1. Si eso NO SUCEDE, significa

que se recibió UN BIT ERRONEO, como se observa en la Tabla 2.C.42.

Tabla 2.C.42: Armado de ecuaciones

Ecuación de

paridad

asociada a cada

bit de paridad

Ecuación de PARIDAD

¿Mantiene

PARIDAD

PAR EN LOS

1?

BIT DE

PARIDAD

AGREGADO

PARA

LOGRAR

PARIDAD PAR

EN LA

ECUACIÓN

E4 (P4,X5, X6, X7)

(1,0,1,1) NO 1

E2 (P2,X3, X6, X7)

(0,1,1,1) NO 1

E1 (P1,X3, X5, X7)

(0,1,0,1) SI 0

1102 = 610

BIT ERRÓNEO X6

Se puede observar que las ecuaciones de paridad que NO MANTUVIERON la paridad

par en los 1, fueron la E4 y E2.

Si se suman los subíndices 4 + 2, el resultado ( 6) indica que el bit que fue transmitido

con error fue X6, ya que es el único que es afectado simultáneamente y únicamente por

los bits de paridad P2 y P4.

Es posible observar también, que el resultado en binario de las ecuaciones de paridad:

1102, expresado en decimal es 6, que indica también que el bit X6 es el bit erróneo.

Sólo falta corregirlo. Simplemente como el bit recibido es X6 = 1 y se conoce que es

erróneo, el bit X6 correcto es X6=0.

El mensaje recibido fue: 0011011

La Tabla 2.C.43 muestra el mensaje recibido.

Page 91: Departamento: Ingeniería e Investigaciones … · El sistema de numeración romano es no posicional dado que el valor de cada símbolo no depende de la posición en la que se encuentra

Unidad 2. Introducción a los sistemas de representación de la información

Fundamentos de TICs. 1 Cuat. 2014 Página 91 de 91

Tabla 2.C.43: Mensaje recibido

Posición P1 P2 X3 P4 X5 X6 X7

bit 0 0 1 1 0 1 1

BIT X6 ERRÓNEO

Se cambia y se obtiene el mensaje original como se observa en la Tabla 2.C.44

Tabla 2.C.44: Mensaje corregido

Posición P1 P2 X3 P4 X5 X6 X7

bit 0 0 1 1 0 0 1

Mensaje original

0011001

Referencias

http://www.ee.unb.ca/tervo/ee4253/hamming.htm

http://www.jcee.upc.es/JCEE2006/pdf_ponencies/PDFs/JCEE06_14_12_T2.pdf

http://www.cs.cornell.edu/Courses/cs414/2007su/slides/hamming.htmL