EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos



Documentos relacionados
Sistemas de Numeración Operaciones - Códigos

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Universidad Tecnológica Nacional Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I 1R2 Trabajo Práctico N 1 - Año 2014

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

SISTEMAS DE NUMERACIÓN. Sistema decimal

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria


Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

Representación de la Información

Unidad Didáctica. Códigos Binarios

Tema I. Sistemas Numéricos y Códigos Binarios

Sistemas de numeración

❷ Aritmética Binaria Entera

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Sistemas de numeración, operaciones y códigos

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

by Tim Tran:

Tema 2 : Códigos Binarios

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

Clase 02: Representación de datos

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Tema 2. La Información y su representación

Tema 1. SISTEMAS DE NUMERACION

Capítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

TEMA 2: Representación de la Información en las computadoras

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso El sistema de numeración binario

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

Matemática de redes Representación binaria de datos Bits y bytes

Tema 1. Representación de la información MME

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Representación de números en binario

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

Computación I Representación Interna Curso 2011

Materia: Informática. Nota de Clases Sistemas de Numeración

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

Informática Básica: Representación de la información

Lección 1. Representación de números

TEMA 1 Representación de la información

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

Sistemas numéricos. Aurelio Sanabria Taller de programación

3. Codificación de información en binario

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

CAPITULO II SISTEMAS DE NUMERACIÓN Y CÓDIGOS

Introducción a la Programación 11 O. Humberto Cervantes Maceda

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Informática Bioingeniería

Sistemas de numeración

Sistemas de numeración, operaciones y códigos.

Matemáticas para la Computación

UD 1. Representación de la información

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

Sistemas de Numeración

13/10/2013. Clase 02: Sistemas de Numeración. Sistemas Digitales y Arquitectura de Computadoras. Ing. Christian Lezama Cuellar.

UNIDADES DE ALMACENAMIENTO DE DATOS

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Tema 2: Sistemas de representación numérica

Primeros conmutadores: diodos de cristal y de tubos de vacío (1906). Transistor (TRT): más pequeño y fiable, de material semiconductor (1950).

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

Sistema binario. Representación

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

1. SISTEMAS DIGITALES

8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos

EJERCICIOS DEL TEMA 1

Representación de Datos. Una Introducción a los Sistemas Numéricos

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles José Ignacio Martínez Torre Ángel Serrano Sánchez de León.

Introducción a Códigos

Instituto Tecnológico de Celaya

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

Introducción a los Sistemas Digitales

Sistemas de numeración y aritmética binaria

TEMA 2 REPRESENTACIÓN BINARIA

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

Fundamentos de Programación. Sabino Miranda-Jiménez

Materia Introducción a la Informática

Sebastián García Galán

Sistemas Numéricos, Aritmética. UCR ECCI CI-1204 Matemática Discretas Prof. M.Sc. Kryscia Daviana Ramírez Benavides

Aritmética del computador. Departamento de Arquitectura de Computadores

ARITMÉTICA Y CODIFICACIÓN

Curso Completo de Electrónica Digital

Electrónica Digital I (ED21) Sesión: 3 Aritmética Binaria. Ing. José C. Benítez P.

ELO311 Estructuras de Computadores Digitales. Números

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2007

Informática. Temas 27/03/2014. Carrera: Bioingeniería Profesora: Lic. S. Vanesa Torres JTP: Ing. Thelma Zanon

Naturaleza binaria. Conversión decimal a binario

SISTEMAS DE NUMERACIÓN.

TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN

Clase 1 Sistemas de numeración

El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como :

Apuntes de Microcontroladores (Repaso de temas previos)

Notas de Diseño Digital

Guía 01: Sistemas Numéricos

Transcripción:

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011

INTRODUCCIÓN El sistema de numeración binario y los códigos digitales son fundamentales en las computadoras y, en general, en la electrónica digital. Esta unidad está enfocada principalmente al sistema de numeración binario y sus relaciones con otros sistemas de numeración tales como el decimal, hexadecimal y octal. Se cubren las operaciones aritméticas con números binarios con el fin de proporcionar una base para entender cómo trabajan las computadoras y muchos otros tipos de sistemas digitales. También se abordan códigos digitales como el código decimal binario (BCD, Binary Code Decimal), el código Gray y el ASCII. Se presenta el método de paridad para la detección de errores en los códigos y se describe un método para corregir dichos errores.

NÚMEROS DECIMALES Todos estamos familiarizados con el sistema de numeración decimal porque los usamos cada día. Aunque los números decimales son triviales, a menudo, su estructura de pesos no se comprende. En lo sucesivo, revisaremos la estructura de los números decimales. Esto ayudará a entender más fácilmente la estructura del sistema de numeración binario, que es tan importante en las computadoras y la electrónica digital.

NÚMEROS DECIMALES A la posición de cada número en un sistema de numeración posicional se le asigna un peso basado en la base o radix del sistema. El radix de los números decimales es 10, porque sólo se utilizan 10 símbolos (de 0 a 9) para representar cualquier número. Los pesos de las columnas de números decimales son potencias de 10 que se incrementan de derecha a izquierda empezando por 10 0 =1. 10 5 10 4 10 3 10 2 10 1 10 0. Para números decimales fraccionales, los pesos de las columnas son potencias negativas de 10 que disminuyen de izquierda a derecha. 10 2 10 1 10 0. 10-1 10-2 10-3 10-4

NÚMEROS DECIMALES Los números decimales se pueden expresar como la suma de productos de cada dígito por los valores de las columnas (potencias de 10) para ese dígito. Así, el número 9240 se puede expresar como: ó (9 x 10 3 ) + (2 x 10 2 ) + (4 x 10 1 ) + (0 x 10 0 ) 9 x 1000 + 2 x 100 + 4 x 10 + 0 x 1 Expresar el número 480.52 como la suma de valores de cada dígito. 480.52 = (4 x 10 2 ) + (8 x 10 1 ) + (0 x 10 0 ) + (5 x 10-1 ) +(2 x 10-2 )

NÚMEROS BINARIOS El sistema de numeración binario es simplemente otra forma de representar magnitudes. El sistema binario es menos complicado que el decimal ya que solo tiene dos dígitos. Al principio puede parecer complicado por no ser familiar. El sistema decimal con sus diez dígitos es un sistema en base diez, el sistema binario con sus dos dígitos es un sistema en base dos. Los dos dígitos binarios (bits) son 1 y 0. La posición de un 1 o un 0 indican su peso o valor en un número de la misma manera que en el sistema decimal.

NÚMEROS BINARIOS Para los sistemas digitales, se utiliza el sistema de numeración binario. El sistema binario tiene un radix de 2 y utiliza los dígitos 0 y 1 para representar cantidades. Los pesos de columna para números binarios son potencias de 2 que aumentan de derecha a izquierda empezando por 2 0 =1. 2 5 2 4 2 3 2 2 2 1 2 0. Para números binarios fraccionales, los pesos de las columnas son potencias negativas de 2 que disminuyen de izquierda a derecha. 2 2 2 1 2 0. 2-1 2-2 2-3 2-4

NÚMEROS BINARIOS A la derecha se muestra una secuencia de conteo binario para los números decimales de 0 a 15. Observe los patrones de ceros y unos de cada columna. Los Contadores Digitales tienen comúnmente el mismo patrón de dígitos. Counter 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 Decoder Número Decimal Número Binario 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 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 15 1 1 1 1

CONVERSIÓN BINARIO A DECIMAL El equivalente decimal de un número binario se puede determinar sumando los valores de las columnas de todos los bits que son 1 y descartando todos los bits que son 0. Convertir el número binario 100101.01 a decimal. Comience por escribir la columna de pesos; luego sumar los pesos que corresponden a cada 1 en el número. 2 5 2 4 2 3 2 2 2 1 2 0. 2-1 2-2 32 16 8 4 2 1. ½ ¼ 1 0 0 1 0 1. 0 1 32 +4 +1 +¼ = 37¼

CONVERSIÓN DECIMAL A BINARIO En la diapositiva anterior vimos cómo convertir un número binario en el número decimal equivalente. Ahora vamos a aprender dos métodos para convertir un número decimal en un número binario. 1. Método de la suma de pesos: Se puede convertir un número entero decimal en uno binario revirtiendo el procedimiento. Para ello: Escribir el peso decimal de cada columna y poner 1 s en las columnas que suman el número decimal. Convertir el número decimal 49 a binario. Poner 1s en las posiciones de pesos adecuadas de tal manera que la suma corresponda al número decimal. 2 6 2 5 2 4 2 3 2 2 2 1 2 0. 64 32 16 8 4 2 1. 0 1 1 0 0 0 1.

CONVERSIÓN DECIMAL A BINARIO 2. Método de la división sucesiva por 2: Se puede convertir un decimal a cualquier base dividiendo repetidamente por la base. En el caso binario, dividir repetidamente por 2. La condición de parada se produce cuando la parte entera del cociente es 0. Convertir el número decimal 49 a binario dividiendo repetidamente por 2. Se puede hacer por división en reversa y la respuesta se leerá de izquierda a derecha. Poner cuocientes a la izquierda y restos encima. Respuesta: 0 Continúe hasta el último cuociente es 0 1 1 0 1 3 6 0 12 Cociente 0 24 1 49 2 Número decimal resto base

CONVERSIÓN DE FRACCIONES DECIMALES A BINARIO Se puede convertir un número decimal fraccionario a binario multiplicando repetidamente los resultados fraccionales de sucesivas multiplicaciones por 2. Los acarreos forman el número binario. Convertir el decimal fraccionario 0.188 a binario multiplicando los resultados fraccionales por 2. 0.188 x 2 = 0.376 acarreo = 0 0.376 x 2 = 0.752 acarreo = 0 0.752 x 2 = 1.504 acarreo = 1 0.504 x 2 = 1.008 acarreo = 1 0.008 x 2 = 0.016 acarreo = 0 MSB Respuesta =.00110 (para 5 dígitos significativos)

ARITMÉTICA BINARIA La aritmética binaria es esencial en todas las computadoras digitales y en muchos otros tipos de sistemas digitales. Para entender los sistemas digitales, debe conocer los principios básicos de la suma, resta, multiplicación y división binarias. En lo sucesivo se introducen estos temas.

SUMA BINARIA Las reglas básicas para la suma binaria son: 0 + 0 = 0 Suma = 0, acarreo = 0 0 + 1 = 1 Suma = 1, acarreo = 0 1 + 0 = 1 Suma = 1, acarreo = 0 1 + 1 = 10 Suma = 0, acarreo = 1 Cuando hay un acarreo de entrada = 1 debido a un resultado previo, las reglas son: 1 + 0 + 0 = 01 Suma = 1, acarreo = 0 1 + 0 + 1 = 10 Suma = 0, acarreo = 1 1 + 1 + 0 = 10 Suma = 0, acarreo = 1 1 + 1 + 1 = 11 Suma = 1, acarreo = 1

SUMA BINARIA Sumar los números binarios 00111 y 10101 y mostrar la suma decimal equivalente. 0 1 1 1 00111 7 10101 21 11100 = 28

RESTA BINARIA Las reglas básicas para la resta binaria son: 0-0 = 0 1-1 = 0 1-0 = 1 10-1 = 1 con un adeudo de 1 Restar el número binario 00111 a 10101 y mostrar la resta decimal equivalente. 1 1 1 10101 / / / 21 00111 7 01110 = 14

MULTIPLICACIÓN BINARIA Las reglas básicas para la multiplicación binaria son: 0 0 = 0 0 1 = 0 1 0 = 0 1 1 = 1 La multiplicación con números binarios se realiza de la misma forma que con números decimales. Se realizan los productos parciales, desplazando cada producto parcial sucesivo una posición a la izquierda, y sumando luego todos los productos parciales. Multiplicar el número binario 110100010101 con 1101.

MULTIPLICACIÓN BINARIA Multiplicar el número binario 110100010101 con 1101. 3349 13 = 43537

DIVISIÓN BINARIA Estudiar del libro base

COMPLEMENTO A 1 Y 2 DE NÚMEROS BINARIOS El complemento a 1 y el complemento a 2 de un número binario son importantes porque permiten la representación de números negativos. La aritmética en complemento a 2 se usa comúnmente en las computadoras para manipular números negativos.

COMPLEMENTO A 1 El complemento a 1 de un número binario es solo la inversión de los dígitos. Para formar el complemento a 1, cambiar todos los 0 s a 1 s y todos los 1 s a 0 s. Por ejemplo, el complemento a 1 de 11001010 es 00110101 En circuitos digitales, el complemento a 1 se forma utilizando inversores: 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1

COMPLEMENTO A 2 El complemento a 2 de un número binario se obtiene sumando 1 al LSB del complemento a 1. Recordamos que el complemento a 1 de 11001010 es 00110101 (complemento a 1) Para formar el complemento a 2, sumar 1: +1 1 1 0 0 1 0 1 0 0 0 1 1 0 1 0 1 Input bits Adder Output bits (sum) 0 0 1 1 0 1 1 0 1 Carry in (add 1) 00110110 (complemento a 2)

COMPLEMENTO A 2 Un método alternativo para obtener el complemento a 2 de un número binario es el siguiente: 1. Se empieza por la derecha con el LSB y se escriben los bits como están hasta encontrar el primer 1, incluido éste. 2. Se calcula el complemento a 1 de los bits restantes. Calcular el complemento a 2 de 10111000.

NÚMEROS CON SIGNO Los sistemas digitales, tales como las computadoras, deben ser capaces de manejar números positivos y negativos. Un número binario con signo queda determinado por su magnitud y su signo. El signo indica si un número es positivo o negativo, y la magnitud el valor del número. Existen tres formatos binarios para representar los números enteros con signo: signo-magnitud, complemento a 1 y complemento a 2. Los números no enteros y muy grandes o muy pequeños pueden expresarse en formato de coma flotante.

BIT DE SIGNO El bit más a la izquierda de un número binario con signo es el bit de signo, que indica si el número es positivo o negativo. Un bit se signo 0 indica que es un número positivo y un bit de signo igual a 1 indica que es un número negativo. FORMATO SIGNO Y MAGNITUD Cuando un número binario con signo se representa en este formato, el bit más a la izquierda es el bit de signo y los restantes bits son de magnitud. Por ejemplo, el número decimal positivo +25 se escribe usando 8-bits como 00011001 (forma real). bit de Signo bits de Magnitud El -25 se expresa como 10011001 (forma real). bit de Signo bits de Magnitud

FORMATO DEL COMPLEMENTO A 1 Los números positivos en formato de complemento a 1 se representan igual que los números positivos del formato signo-magnitud. Sin embargo, los números negativos son el complemento a 1 del correspondiente número positivo. Por ejemplo, con ocho bits, el número decimal -25 se expresa como el complemento a 1 de +25 (00011001) como 11100110. En formato complemento a 1, un número negativo es el complemento a 1 del correspondiente número positivo

FORMATO DEL COMPLEMENTO A 2 Los números positivos en formato de complemento a 2 se representan igual que los números positivos del formato signo-magnitud y complemento a 1. Sin embargo, los números negativos son el complemento a 2 del correspondiente número positivo. Por ejemplo, con ocho bits, el número decimal -25 se expresa como el complemento a 2 de +25 (00011001) como 11100111. En formato complemento a 2, un número negativo es el complemento a 2 del correspondiente número positivo

VALOR DECIMAL DE LOS NÚMEROS CON SIGNO Signo y magnitud. Los valores decimales de los números positivos y negativos en el formato signo-magnitud se determinan sumando los pesos de todas las posiciones de los bits de magnitud que tienen 1 e ignorando las posiciones donde haya ceros. El signo se determina examinando el bit de signo. Determinar el valor decimal del número binario con signo expresado como signo-magnitud 10010101: 0 0 1 0 1 0 1 Pesos de columnas: 64 32 16 8 4 2 1. 16 + 4 + 1 = -21

VALOR DECIMAL DE LOS NÚMEROS CON SIGNO Complemento a 1. Los valores decimales de los números positivos se determinan sumando los pesos de todas las posiciones de los bits de magnitud que tienen 1 e ignorando las posiciones donde haya ceros. Los números negativos se determinan asignando el valor negativo al peso del bit de signo, y sumando todos los pesos donde haya 1s y sumando 1 al resultado. Determinar los valores decimales de los números binarios con signo expresados en complemento a 1: a) 00010111 b) 11101000

VALOR DECIMAL DE LOS NÚMEROS CON SIGNO Complemento a 2. Los valores decimales de los números positivos se determinan sumando los pesos de todas las posiciones de los bits de magnitud que tienen 1 e ignorando las posiciones donde haya ceros. El peso del bit de signo en un número negativo viene dado por su valor negativo. Determinar los valores decimales de los números binarios con signo expresados en complemento a 2: a) 01010110 b) 10101010

RANGO DE REPRESENTACIÓN DE LOS NÚMEROS CON SIGNO En la mayoría de los ejemplos se han utilizado números de 8 bits, puesto que la agrupación de 8 bits es un estándar en la mayoría de los sistemas digitales y recibe el nombre de byte. Con 8 bits se pueden representar 256 números diferentes. Combinando 2 bytes (16 bits) se pueden representar 65.536 números diferentes. Combinando 4 bytes (32 bits) se pueden representar 4.295x10 9 números diferentes. Y así sucesivamente.

RANGO DE REPRESENTACIÓN DE LOS NÚMEROS CON SIGNO La fórmula para calcular el número de combinaciones diferentes es: Número total de combinaciones = 2 n Para los números con signo en complemento a 2, el rango de valores para números de n bits es: -(2 n-1 ) a +(2 n-1-1) Habiendo en cada caso un bit de signo y n-1 bits de magnitud. Por ejemplo, con cuatro bits pueden representarse números en complemento a 2 en el rango de (2 3 ) = -8 hasta +(2 3-1) = +7. Igualmente, con ocho bits, se pueden abarcar desde -128 hasta +127; con 16 bits se puede ir desde - 32.768 a 32.767, y así sucesivamente

NÚMEROS EN COMA FLOTANTE Para representar números enteros muy grandes, son necesarios muchos bits. También se producen problemas cuando queremos representar números con parte fraccionaria, tal como 23,5618. El número en coma flotante (también conocido como número real) tiene dos partes más un signo. La mantisa que representa la magnitud del número. El exponente que representa el número de lugares que se va a desplazar el punto decimal (o binario). Por ejemplo el número decimal 241.506.800 puede ser reescrito en formato de coma flotante tomando 0,2415068 como mantisa y 9 como exponente. Queda finalmente: 0,2415068 x 10 9

NÚMEROS EN COMA FLOTANTE Para los números en coma flotante binarios, el formato definido por el estándar 754/1985 ANSI/IEEE puede tomar tres formas: simple precisión (compuesto por 32 bits), doble precisión (compuesto por 64 bits) y precisión ampliada (80 bits). Restringiremos la explicación al formato en coma flotante de precisión simple el cual se ilustra a continuación. S E (8 bits) F (23 bits) Bit de signo Exponente Mantisa (parte fraccionaria, F) desplazado (E) (+127)

NÚMEROS EN COMA FLOTANTE Un ejemplo para ilustrar como un número binario se expresa en formato de coma flotante: 1011010010001.

NÚMEROS EN COMA FLOTANTE Expresar la velocidad de la luz, c, en notación de punto flotante de precisión simple binario. (c = 0.2998 x 10 9 ) En binario, c = 0001 0001 1101 1110 1001 0101 1100 0000 2. En notación científica, c = 1.0001 1101 1110 1001 0101 1100 0000 x 2 28. S = 0 porque el número es positivo. E = 28 + 127 = 155 10 = 1001 1011 2. F son los siguientes 23 bits descartando el primer 1. En notación de punto flotante, c = 0 10011011 0001 1101 1110 1001 0101 110

NÚMEROS EN COMA FLOTANTE Para evaluar un número binario que ya está en formato de coma flotante se utiliza la siguiente fórmula. Número = (-1) S (1 + F)(2 E-127 ) Por ejemplo, consideremos el siguiente número binario en coma flotante. 1 10010001 1000 1110 0010 0000 0000 000 El bit de signo es 1. El exponente desplazado es 10010001 = 145. Aplicando la fórmula, obtenemos Número = (-1) 1 (1.10001110001)(2 145-127 ) = (-1)(1.10001110001)(2 18 ) = -1100011100010000000 Este número es equivalente al -407.688 en decimal.

OPERACIONES ARITMÉTICAS DE NÚMEROS CON SIGNO Hemos aprendido como se representan, en tres formatos diferentes, los números con signo. Ahora, estudiaremos como se suman, restan, multiplican y dividen estos números. Dado que el complemento a 2 es el sistema de representación de números con signo más ampliamente utilizado en las computadoras y microprocesadores, en lo sucesivo veremos la aritmética de números con signo en complemento a 2. Los procedimientos que veremos pueden perfectamente extenderse a los demás sistemas.

SUMA Los dos números en una suma se denominan sumandos. El resultado es la suma. Cuando se suman dos números binarios con signo pueden producirse cuatro casos: 1. Ambos números son positivos. 2. El número positivo es mayor que el negativo en valor absoluto. 3. El número negativo es mayor que el positivo en valor absoluto. 4. Ambos números son negativos. Ahora veremos caso por caso, utilizando números de 8 bits como ejemplo. Se pondrán como referencia los números decimales equivalentes.

SUMA Caso 1: Ambos números son positivos. + 01 0 0 00000111 7 00000100 4 00001011 = 11 La suma es positiva y, por tanto, es un número binario real (no complementado). Caso 2: El número positivo es mayor que el número negativo en valor absoluto. Descartar acarreo + 1 11 1 11 1 0 00001111 15 11111010 + -6 00001001 = 9 El bit de acarreo final no se tiene en cuenta. La suma es positiva y, por tanto, es un número binario real (no complementado).

SUMA Caso 3: El número negativo es mayor que el número positivo en valor absoluto. + 00 0 0 00 0 00010000 16 11101000 + -24 11111000 = -8 La suma es negativa y, por tanto, está en complemento a 2. Caso 4: Ambos números son negativos. Descartar acarreo + 1 11 1 11 1 1 11111011-5 11110111 + -9 11110010 = -14 El bit de acarreo final no se tiene en cuenta. La suma es negativa y, por tanto, está en complemento a 2. En una computadora, los números negativos se almacenan en formato complemento a 2, por lo que, como se pudo apreciar, el procedimiento de suma es muy sencillo: sumar los dos números y descartar cualquier bit de acarreo final

CONDICIÓN DE DESBORDAMIENTO (OVERFLOW) Cuando se suman dos números y el número de bits requeridos para representar la suma excede el número de bits de los dos números, se produce un desbordamiento, que se indica mediante un bit de signo incorrecto. NOTA: Un desbordamiento se produce sólo cuando ambos números son positivos o negativos. Signo y magnitud incorrecta + 11 1 10 0 0 01111101 +125 00111010 + 58 10110111 = 183 Ejemplo de desbordamiento con números de 8 bits. En el ejemplo anterior, la suma 183 requiere 8 bits de magnitud. Puesto que los números tienen sólo 7 bits de magnitud, se produce un acarreo en el bit de signo que da lugar a la indicación de desbordamiento.

RESTA La resta es un caso especial de la suma. Por ejemplo: restar +6 (el sustraendo) de +9 (el minuendo) es equivalente a sumar -6 a +9. Básicamente, la operación de resta consiste en cambiar el signo del sustraendo y sumarlo al minuendo. El resultado de una resta se denomina diferencia. El signo de un número binario positivo o negativo se cambia tomando su complemento a 2. Puesto que la sustracción o resta es simplemente una suma con el signo del sustraendo cambiado, el proceso se define del siguiente modo: Para restar dos números con signo, se calcula el complemento a 2 del sustraendo y se suman. Cualquier bit de acarreo final se descarta.

RESTA

MULTIPLICACIÓN Los números en una multiplicación se denominan multiplicando, multiplicador y producto. La siguiente multiplicación decimal ilustra estos términos. Comúnmente, la operación de multiplicación se realiza utilizando la suma. (Recordar que la resta igual se hace como una suma). Existen dos métodos para realizar la multiplicación de números con signo. Ellos son: 1. El método de la suma directa. 2. El método de los productos parciales.

MULTIPLICACIÓN Método 1. En el método de la suma directa, se suma el multiplicando un número de veces igual al multiplicador. Método no eficiente ya que si el multiplicador es muy grande, la suma será muy larga. Método 2. El método de los productos parciales es el más común ya que es la forma de multiplicar manualmente. El signo del producto de una multiplicación depende de los signos del multiplicando y del multiplicador, de acuerdo con las dos reglas siguientes: Si son del mismo signo, el producto es positivo. Si son de diferente signo, el producto es negativo.

MULTIPLICACIÓN El procedimiento del método se resume a continuación: 1. Paso 1. Determinar si los signos del multiplicando y el multiplicador son diferentes. Así determinamos el signo del producto. 2. Paso 2. Poner cualquier número negativo en formato real (no complementado). Puesto que la mayoría de las computadoras almacenan los números negativos en complemento a 2, se requiere esta operación para obtener el número negativo en formato real. 3. Paso 3. Empezar por el bit del multiplicador menos significativo y generar los productos parciales. Cada producto parcial debe desplazarse un bit a la izquierda. 4. Paso 4. Sumar cada producto parcial a la suma de los productos parciales anteriores para obtener el producto final. 5. Paso 5. Si el bit de signo que se había determinado en el paso 1 es negativo, calcular el complemento a 2 del producto. Si es positivo, dejarlo en formato real. Añadir el bit de signo al producto.

MULTIPLICACIÓN Multiplicar los siguientes números con signo: 1. 01010011 (multiplicando) 11000101 (multiplicador). 2. Verificar que la multiplicación es correcta convirtiendo los binarios a decimales y realizando la multiplicación.

MULTIPLICACIÓN

MULTIPLICACIÓN

DIVISIÓN Los números en una división se denominan dividendo, divisor y cociente. En los computadores, la operación de división se lleva a cabo usando la resta. Puesto que la resta se puede realizar como una suma, la división también se puede llevar a cabo con un sumador. El signo del cociente depende de los signos del dividendo y del divisor, de acuerdo con las dos reglas siguientes: 1. Si son del mismo signo, el cociente es positivo. 2. Si son de diferente signo, el cociente es negativo.

DIVISIÓN El procedimiento para dividir dos números se resume a continuación: 1. Paso 1. Determinar si los signos del dividendo y el divisor son diferentes. Esto determina que signo tendrá el cociente. Inicializar el cociente a cero. 2. Paso 2. Restar el divisor del dividendo utilizando la suma en complemento a 2, para obtener el primer resto parcial, y sumar 1 al cociente. Si este resto parcial es positivo, ir al paso 3. Si el resto parcial es cero o negativo, la división se ha terminado. 3. Paso 3. Restar el divisor del resto parcial y sumar 1 al cociente. Si el resultado es positivo, repetir el siguiente resto parcial. Si el resultado es cero o negativo, la división se ha terminado. Continuar restando el divisor del dividendo y los restos parciales hasta que el resultado sea cero o negativo. Contar el número de veces que se ha restado el divisor y se obtendrá el cociente.

DIVISIÓN Dividir los siguientes números con signo: 1. 01100100 (dividendo) 00011001 (divisor). 2. Verificar que la división es correcta convirtiendo los binarios a decimales y realizando la división.

DIVISIÓN

DIVISIÓN

NÚMEROS HEXADECIMALES El sistema de numeración hexadecimal consta de dieciséis dígitos y se usan fundamentalmente como una forma simplificada de representar o escribir los números binarios, ya que es muy fácil la conversión entre binario y hexadecimal. Los números binarios largos son difíciles de leer y escribir, ya que es fácil omitir o trasponer un bit. La representación hexadecimal ayuda a solventar esta limitante al reducir la cantidad de símbolos en la notación. El sistema hexadecimal se usa frecuentemente en computadoras y aplicaciones de microprocesadores.

NÚMEROS HEXADECIMALES La representación Hexadecimal usa dieciséis caracteres para representar números: los números del 0 al 9 y los caracteres alfabéticos de la A a la F. Para contar en hexadecimal por sobre la F, sencillamente se inicia otra columna y se continúa de la siguiente manera. 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B, 1C, 1D, 1E, 1F, 20, 21, 22,. Decimal Hexadecimal Binario 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 A B C D E F 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

CONVERSIÓN BINARIO - HEXADECIMAL La conversión de un número binario en hexadecimal es un procedimiento muy sencillo. Simplemente, se parte el número binario en grupos de 4 bits, comenzando por el bit más a la derecha, y se reemplaza cada grupo de 4 bits por su símbolo hexadecimal equivalente, como ilustra abajo. 1100 1010 0101 0111 2 C A 5 7 = CA57 16 0011 1111 0001 0110 1001 2 3 F 1 6 9 = 3F169 16 CONVERSIÓN HEXADECIMAL - BINARIO Para convertir un número hexadecimal en un número binario se realiza el proceso inverso, reemplazando cada símbolo hexadecimal por el grupo de cuatro bits adecuado. 1 0 A 4 1 0000 0101 0100 2

CONVERSIÓN HEXADECIMAL - DECIMAL Un método para encontrar el equivalente decimal de un número hexadecimal es, primero, convertir el hexadecimal a binario y luego el binario a decimal. Abajo se ilustra un ejemplo. 1 C 0001 1100 2 = 2 4 + 2 3 + 2 2 = 16 + 8 + 4 = 28 10 Otro método para convertir un número hexadecimal a su equivalente decimal es multiplicar el valor decimal de cada dígito hexadecimal por su peso, y finalmente, realizar la suma de estos productos. B2F8 16 = (Bx4096) + (2x256) + (Fx16) + (8x1) = (11x4096) + (2x256) + (15x16) + (8x1) = 45056 + 512 + 240 + 8 = 45816 10

CONVERSIÓN DECIMAL - HEXADECIMAL Al igual que la conversión de decimal a binario, el método de la división sucesiva por 2 se puede extender a cualquier base. En este caso, la división sucesiva por 16 de un número decimal generará el número hexadecimal equivalente formado por los restos de las divisiones. A continuación vemos como convertir el decimal 650 en hexadecimal. 650/16 = 40,625 0,625 x 16 = 10 = A 40/16 = 2,5 0,5 x 16 = 8 = 8 2/16 = 0,125 0,125 x 16 = 2 = 2 LSB Resultado final = 2 8 A

SUMA HEXADECIMAL Cuando se suman dos números hexadecimales se usan las siguientes reglas: 1. En cualquier columna dada de una suma, pensar en los dos dígitos hexadecimales en términos de su valor decimal. Por ejemplo, 5 16 = 5 10, C 16 = 12 10. 2. Si la suma de los dos dígitos es 15 10 o menor, reducir al dígito hexadecimal correspondiente. 3. Si la suma de los dígitos es mayor que 15 10, hay que reducir la suma que excede de 16 10 y pasar el acarreo de 1 a la siguiente columna.

SUMA HEXADECIMAL

RESTA HEXADECIMAL USANDO COMPLEMENTO A 2 Como ya se sabe, el complemento a 2 permite restar sumando números binarios. Este método también aplica a la resta en hexadecimal.

NÚMEROS OCTALES Octal usa ocho caracteres, los números del 0 al 7 para representar los números. No existe el caracter 8 o 9 en octal. Los números binarios se pueden convertir fácilmente a octal al agrupar bits de a 3 y escribiendo el carácter octal equivalente para cada grupo. Expresar 1 001 011 000 001 110 2 en octal: Agrupar los números binarios de a 3- bits comenzando desde la derecha. De esta manera, 113016 8 Decimal Octal Binario 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

NÚMEROS OCTALES Octal también es un sistema de numeración ponderado. Los pesos de las columnas son potencias de 8, las cuales se incrementan de derecha a izquierda. {. 512 64 8 1. Pesos de columna 8 3 8 2 8 1 8 0 Expresar 3702 8 en decimal. Comenzar por escribir los pesos de las columnas: 512 64 8 1 3 7 0 2 8 3(512) + 7(64) +0(8) +2(1) = 1986 10 Decimal Octal Binario 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

CÓDIGO DECIMAL BINARIO (BCD) El código decimal binario (BCD) es un código ponderado que se utiliza comúnmente en sistemas digitales cuando se necesita mostrar números decimales tal como un display de reloj. La tabla ilustra la diferencia entre binario directo y BCD. BCD representa cada dígito decimal con un código de 4-bit. Observe que los códigos desde el 1010 al 1111 no se utilizan en BCD, es decir, son códigos no válidos. Decimal Binario BCD 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0001 0001 0001 0001 0001 0001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0000 0001 0010 0011 0100 0101

CÓDIGO DECIMAL BINARIO (BCD) Aquí se muestra un experimento de laboratorio en el cual el código BCD se convierte a decimal.

CÓDIGO DECIMAL BINARIO (BCD) Se puede pensar en BCD en términos de los pesos de las columnas en grupos de a cuatro bits. Para un número BCD de 8-bit, los pesos de las columnas son: 80 40 20 10 8 4 2 1. Cuáles son los pesos de las columnas para el número BCD 1000 0011 0101 1001? 8000 4000 2000 1000 800 400 200 100 80 40 20 10 8 4 2 1 Observe que se podría agregar los pesos de las columnas donde hay un 1 para obtener el número decimal equivalente. Para este caso: 8000 + 200 +100 + 40 + 10 + 8 +1 = 8359 10

CONVERSIÓN DECIMAL a BCD Para expresar cualquier número decimal en BCD, simplemente reemplazar cada dígito decimal por el apropiado código de 4 bits.

CONVERSIÓN BCD a DECIMAL Para expresar cualquier número BCD en decimal, simplemente se comienza por el bit más a la derecha y se divide el código en grupos de a cuatro. Luego, se escribe el dígito decimal representado por cada grupo.

SUMA EN BCD BCD es un código numérico y puede utilizarse en operaciones aritméticas. Veremos sólo la suma en BCD ya que las otras tres operaciones pueden llevarse a cabo utilizando la suma. Los pasos son los siguientes: 1. Paso 1. Sumar los dos números BCD utilizando las reglas de la suma binaria vistas en las clases anteriores. 2. Paso 2. Si una suma de 4 bits es igual o menor que 9, es un número BCD válido. 3. Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits, el resultado no es válido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar así los seis estados no válidos y pasar al código BCD. Si se genera un acarreo al sumar 6, este se suma al grupo de 4 bits siguientes.

SUMA EN BCD Ejemplo sin acarreos

SUMA EN BCD Ejemplos con acarreos

CÓDIGO GRAY El código Gray es un código sin ponderación que cambia sólo un bit entre una palabra de código y la siguiente en una secuencia. El código Gray se utiliza para evitar problemas en sistemas donde un error puede ocurrir si más de un bit cambia en una transición en secuencia. Decimal Binario Cod. Gray 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

CÓDIGO GRAY Un mecanismo codificador de eje es una aplicación típica. Tres detectores/emisores de infrarrojo IR se utilizan para codificar la posición del mecanismo. El codificador de la izquierda usa codificación binaria y puede tener 3-bits que cambian a la vez, lo cual genera una potencial fuente error. El codificador de la derecha usa código gray y solamente cambia 1-bit en cada transición, eliminando los errores del sistema. Secuencia binaria Secuencia cód. Gray

CÓDIGO ASCII ASCII es un código de caracteres alfanuméricos y caracteres de control. En su forma original, ASCII codifica 128 caracteres y símbolos usando 7 bits. Los primeros 32 caracteres son caracteres de control, que fueron originalmente requeridos para sistemas teletipo. Hoy en día, estos caracteres están generalmente asignados a otras funciones más modernas. En 1981, IBM introdujo el código ASCII extendido, el cual es un código de 8-bit y se aumento entonces el conjunto de caracteres a 256. Otros conjuntos de caracteres extendidos (tal como Unicode) se han introducido para manejar caracteres que entiendan lenguajes distintos al Inglés.

CÓDIGO ASCII