Datos y operaciones con datos

Documentos relacionados
5 centenas + 2 decenas + 8 unidades, es decir: = 528

SISTEMAS NUMÉRICOS. Conocer los diferentes sistemas numéricos y su importancia en la informática y la computación


Guía práctica de estudio 06: Lenguaje binario

Guía práctica de estudio 06: Lenguaje binario

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES

Ingeniería en Computación

Para convertir un decimal a un binario se necesita la siguiente tabla.

I.E.S Santo Domingo. Departamento Informática. Tema 1 Los Sistemas de Numeración. José Luis Mollinedo Jiménez

TEMA V SISTEMAS DE NUMERACIÓN

CAPÍTULO II SISTEMAS NUMÉRICOS. Este método de representar los números se llama sistema de numeración decimal, donde 10 es la base del sistema.

Lógica Secuencial y Combinatoria. Dr. Arturo Redondo Galván 1

Tecnólogo en Informática Paysandú - Uruguay

SISTEMAS DE NUMERACION

TEMA II: SISTEMAS DE NUMERACIÓN

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

Sistemas numéricos (decimal, binario, octal, hexadecimal)

Contenido. Introducción a los Computadores Conceptos básicos. Sistema de numeración CNM-130

CURSO 2016/2017 INFORMÁTICA 1ºBCH. La codificación es. Por qué se. Fíjate en. la imagen de decirle que si. cero. decimal: 1* *2 3.

Sistemas Numéricos Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

Aritmética de Enteros

Representación de números enteros: el convenio exceso Z

APUNTES DOCENTES ASIGNATURA: ANALISIS NUMERICO ASIGNATURA: ANALISIS NUMERICO UNIDADES TECNOLÓGICAS DE SANTANDER

CONALEP TEHUACÁN ING. JONATHAN QUIROGA TINOCO SPORTE Y MANTENIMIENTO A EQUIPOS DE CÓMPUTO OPERACIÓN DE CIRCUÍTOS ELECTRÓNICOS DIGITALES TEMA 1.1.

Guía número 1. Métodos numéricos. Universidad de san buenaventura de Cali

OPEN KNOWLEDGE CURSO DE METODOS NUMERICOS

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

TÉCNICAS DIGITALES SISTEMAS NUMÉRICOS

Sistemas numéricos. Objetivos

Universidad Nacional de Ingeniería. Trabajo de Introducción a la programación

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

MatemáticaDiscreta&Lógica 1

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Representación de datos y aritmética básica en sistemas digitales

Computación I Sistemas de Numeración. Curso 2010 Facultad de Ingeniería Universidad de la República

Representación de datos y aritmética básica en sistemas digitales

SISTEMAS DE NUMERACION

Área Académica: Ingeniería en Computación. Materia: Introducción a la Electrónica Digital

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

Tema 2: Sistemas de numeración

Sistemas de Representación. Organización del Computador 1 Verano 2016

Universidad Nacional de Ingeniería Facultad de Ciencias Introducción a la Ciencia de la Computación Sistemas de Numeros Prof: J.

5.2. Sistemas de codificación en binario

1.- Sistemas Numéricos 2.- Diferencia entre señal analógica y Digital 3.- Postulados básicos del Algebra de Boole

Computación I Sistemas de Numeración. Curso 2015 Facultad de Ingeniería Universidad de la República

Representación de la Información.... en los Computadores

Lección 5. Punto flotante

Sistemas de Numeración

Números. un elemento perteneciente al conjunto D b. de los dígitos del sistema. D b

PLAN DE REFUERZO NOMBRE ESTUDIANTE: Nº

ESCUELA POLITÉCNICA NACIONAL

SISTEMAS DE NUMERACIÓN CON REPRESENTACIÓN POSICIONAL DE LOS NÚMEROS

INSTITUCION EDUCATIVA LA PRESENTACION NOMBRE ALUMNA: AREA :

Sistemas Numéricos y Códigos Binarios

Representación de la información

UNIDAD III NÚMEROS FRACCIONARIOS

CONVERSIONES CONVERSIÓN DE BINARIO A: Binario a Octal: se agrupan de a 3 bits y luego se lee el número , B 635,15 O 6 3 5, 1 5 O

NÚMEROS RACIONALES Y REPRESENTACIÓN DECIMAL. Mate 3041 Profa. Milena R. Salcedo Villanueva

Representación de la Información en los Sistemas Digitales

Tema 2. Sistemas de representación de la información

Organización de Computadoras. Clase 2

TEMA 2. Números racionales. Teoría. Matemáticas

TEMA 2 REPRESENTACIÓN BINARIA

Universidad de San Buenaventura - Facultad de Ingeniería

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS DIGITALES.

Clasificación de los números.

Numeración Maya. Numeración indo-arábiga. Sistemas de Numeración Posicional. Conversión de una base cualquiera a base 10 = 4! !

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

Aritmética para 6.º grado (con QuickTables)

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Representación de números enteros: el convenio complemento a uno

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Los Conjuntos de Números

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES I CAPÍTULO III ARITMÉTICA Y CODIFICACIÓN

UT01 03 Sistemas de codificación

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

SISTEMAS DE NUMERACIÓN

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

Fundamentos de Informática E.U.P. Universidad de Sevilla

Sistemas Numéricos. Introducción n a los Sistemas Lógicos y Digitales 2009

CAPÍTULO 4: VARIABLES Y RAZONES

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

Conjuntos Los conjuntos se emplean en muchas áreas de las matemáticas, de modo que es importante una comprensión de los conjuntos y de su notación.

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

S i s t e m a s A n a l ó g i c o s y D i g i t a l e s

OPEN KNOWLEDGE CURSO DE METODOS NUMERICOS

SISTEMAS DIGITALES. Margarita Pérez Castellanos

7.- La conversión correcta a base seis del número (3BA.25) 14 es: a) b) c) d)

4. Representación interna de la información

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

Números. Índice del libro. 1. Los números reales. 2. Operaciones con números enteros y racionales. 3. Números decimales

Certamen 1 Arquitectura de Computadores

Práctica 3 - Aritmética del Computador

Se entiende por sistema numérico a los símbolos y al conjunto de reglas que se aplican sobre ellos para realizar la representación de una cantidad.

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.

Definición. Vista general.

Sistemas Operativos. IES Pedro Espinosa. Relación de ejercicios Tema 1: Conceptos básicos de informática

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

Transcripción:

Datos y operaciones con datos por Roberto Rangel Ibarra En la actualidad los datos son un recurso muy valioso para cualquier empresa, y la adquisición, representación y gestión de los mismos ha evolucionado de forma muy importante en los últimos años debido a la aparición de la computadora, la cual a su vez ha permitido crear grandes bases o incluso almacenes de datos. Ante esto debemos preguntarnos qué es un dato? La palabra dato proviene del latín datum y significa lo que se da. Arranz (1994) define a los datos como testimonios de información que tenemos acerca de un hecho, y como el reflejo de las condiciones en que se encuentra una situación dada (p. 20). Por otra parte, Forouzan (2003) indica que en un principio se pensaba en una computadora como un procesador de datos (p. 3), cuyo proceso consiste en aceptar datos de entrada, procesar esos datos y crear datos de salida, pero que este concepto de procesamiento de datos ha evolucionado en la actualidad incorporando la programación a las computadoras. Forouzan (2003) también menciona que un programa es un conjunto de instrucciones que indican a la computadora qué hacer con los datos y que son escritas en un lenguaje de computadora (p. 3). Con base a estas premisas los datos pueden ser clasificados de forma general en: Figura 1. Nuvola multimedia (Wikimedia Commons, s. f.). Texto: Son aquellos que utilizan caracteres alfabéticos. Número: Son los utilizados para realizar operaciones aritméticas. Imagen: Son aquellos que representan imágenes estáticas como fotografías, dibujos, etc. Audio: Son aquellos que reproducen sonido. Video: Son aquellos que reproducen secuencias de imágenes. Existen otras categorías más extensas de datos, que están orientadas a la longitud de los mismos o la construcción de tipos creados por los mismos usuarios, sin embargo estos son los más frecuentes en cualquier procesamiento de datos. Pero para que los datos puedan ser procesados por una computadora deben ser entendibles para ésta, siendo necesaria su representación, que es una especie de expresión o traducción al lenguaje de la computadora. 1

De acuerdo a Morris (1994) todos los tipos de datos excepto los números binarios (aquellos formados por 0 y 1) se representan en los registros de la computadora en forma de código binario (p. 71). Existen por lo tanto diferentes sistemas o notaciones para representar datos, siendo los principales el sistema decimal, hexadecimal, octal y binario. Sistema Hexadecimal En una computadora, el procesador con frecuencia utiliza el sistema hexadecimal para comunicarse con una impresora o cualquier otro dispositivo, también se usa en aplicaciones que requieren una representación de grandes cantidades de datos, principalmente se utiliza para trabajar con bytes; para que la computadora reconozca estos datos, es necesario que se conviertan a código binario. Veamos cómo se hace esto. Este sistema utiliza 16 elementos o dígitos, y son los siguientes: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E). Es importante mencionar que cada dígito hexadecimal puede representar 4 bits, y a su vez 4 bits pueden representarse mediante un dígito hexadecimal como se muestra a continuación: Patrón de bits Dígito hexadecimal Patrón de bits Dígito hexadecimal 0000 0 1000 8 0001 1 1001 9 0010 2 1010 A 0011 3 1011 B 0100 4 1100 C 0101 5 1101 D 0110 6 1110 E 0111 7 1111 F Tabla 1. Dígitos hexadecimales y su equivalencia en Patrón de bits (binario). Conversión entre Sistema Hexadecimal y Binario Las conversiones que podemos realizar entre el sistema Hexadecimal y el Binario, son tanto de un dato hexadecimal a binario como de un dato binario a hexadecimal. Analizaremos a continuación cada una de ellas. Conversión de Sistema Binario a Hexadecimal Para poder convertir un dato binario a hexadecimal debemos seguir un procedimiento muy simple, para el cual tomaremos como ejemplo para convertir a hexadecimal, el siguiente dato binario: 1000101011110001 2

1. El primer paso para la conversión será dividir el dato anterior en intervalos de 4 dígitos a partir de la derecha, quedando de la siguiente manera: 1000 1010 1111 0001 2. El segundo paso es observar su equivalencia en la Tabla 1 de Dígitos hexadecimales mostrada previamente y asignar el dato hexadecimal correspondiente al patrón de bits y binario, de la siguiente forma: 1000 1010 1111 0001 8 A F 1 3. El último paso es representar de forma correcta el dato hexadecimal, para esto tenemos las siguientes opciones: a) Colocar una x mayúscula antes de los dígitos. b) Colocar una x minúscula antes de los dígitos. c) Indicar la base hexadecimal (16) como un subíndice después de los dígitos. Por lo tanto el número binario 1000101011110001 convertido a hexadecimal podría representarse de las siguientes maneras: x8af1 X8AF1 8AF1 16 Nota importante: En caso de que al dividir un dato que no incluya en su intervalo 4 dígitos se le debe agregar el dígito 0 hasta completarlo. Por ejemplo, si queremos convertir el número binario 10100000011001 1. Si consideramos que el paso 1 es dividir el dato en 4 a partir de la derecha tendríamos entonces: 10 1000 0001 1001 Por lo que es necesario completar el primer bloque hasta que tenga 4 elementos y debemos hacerlo agregando el dígito 0 hasta que quede con 4, quedando de la siguiente manera: 0010 1000 0001 1001 2. Una vez realizado el paso 1 de manera apropiada realizamos el paso 2 asignando el dato hexadecimal correspondiente: 0010 1000 0001 1001 2 8 1 9 3

3. Finalmente en el último paso representamos el dato hexadecimal, en cualquiera de las siguientes formas: x2819 X2819 2819 16 Conversión de Sistema Hexadecimal a Binario El procedimiento de conversión del Sistema Hexadecimal a Binario es muy similar que el que ocupamos de Binario a Hexadecimal, pero mucho más sencillo, para entenderlo utilizaremos el siguiente ejemplo: Convertir a patrón de bits en sistema binario el valor hexadecimal x24c 1. El primer paso para la conversión será escribir cada dígito hexadecimal en su equivalente patrón de bits: 2 4 C 0010 0100 1100 2. El segundo paso es expresar todo el número unido en notación binaria, siendo el resultado siguiente: 001001001100 Sistema Octal El Sistema Octal es utilizado por las computadoras debido a su facilidad de conversión a Binario, ya que el número de elementos es más reducido que en el Sistema Hexadecimal, por lo que permite que la computadora realice operaciones de forma más rápida mejorando su desempeño. El Sistema Octal es utilizado de forma extensa por programas que trabajan con códigos de computación internos. Este Sistema utiliza 8 elementos o símbolos, y son los siguientes: {0,1, 2, 3, 4, 5, 6, 7}. Es importante mencionar que cada dígito octal puede representar 3 bits, y a su vez 3 bits pueden representarse mediante un dígito octal como se muestra a continuación: Patrón de bits Dígito octal Patrón de bits Dígito octal 000 0 100 4 001 1 101 5 010 2 110 6 011 3 111 7 Tabla 2. Dígitos Octales y su equivalencia en Patrón de bits (binario). 4

Conversión entre Sistema Octal y Binario De igual manera que en el Sistema Hexadecimal, las conversiones que podemos realizar entre el Sistema Octal y el Binario, son tanto de un dato octal a binario como de un dato binario a octal. Analizaremos a continuación cada una de ellas. Conversión de Sistema Binario a Octal El procedimiento que debemos seguir para convertir un dato octal a binario es el mismo que seguimos para un hexadecimal, con los mismos pasos pero basándonos ahora en la Tabla 2 de equivalencia de los dígitos octales. Para entenderlo de mejor forma tomaremos el mismo ejemplo que utilizamos para convertir a hexadecimal pero ahora lo haremos para convertir al sistema octal; el dato binario a convertir a octal es: 1000101011110001 1. El primer paso para la conversión será dividir el dato anterior en intervalos de 3 dígitos a partir de la derecha, quedando de la siguiente manera: 1 000 101 011 110 001 Como el último elemento nos queda con un sólo dígito lo completamos con 0 hasta que quede con los 3 dígitos, por lo que quedaría de la siguiente manera: 001 000 101 011 110 001 2. El segundo paso es observar su equivalencia en la Tabla 2 de dígitos octales mostrada previamente y asignar el dato octal correspondiente al patrón de bits en binario, de la siguiente forma: 001 000 101 011 110 001 1 0 5 3 6 1 3. El último paso es representar de forma correcta el dato octal, para esto tenemos las siguientes opciones: a) Colocar un 0 (cero) antes de los dígitos para mostrar que la representación está en notación octal. b) Colocar una letra o minúscula antes de los dígitos para mostrar que la representación está en notación octal. c) Indicar la base octal (8) como un subíndice después de los dígitos. Por lo tanto, el número binario 1000101011110001 convertido a octal podría representarse de las siguientes maneras: 0105361 5

o105361 105361 8 Conversión de Sistema Octal a Binario Nuevamente el procedimiento de conversión de sistema octal a binario es muy similar que el que ocupamos de binario a octal, pero mucho más sencillo, para entenderlo utilizaremos el siguiente ejemplo. Convertir a patrón de bits en sistema binario el valor octal o115361. 1. El primer paso para la conversión será escribir cada dígito octal en su equivalente patrón de bits: 1 0 5 3 6 1 001 000 101 011 110 001 2. El segundo paso es expresar todo el número unido en notación binaria, siendo el resultado siguiente: 001000101011110001 Sistema Decimal A pesar de que las computadoras modernas no utilizan el sistema decimal para representar valores numéricos, éste tiene gran relevancia debido a que es el sistema numérico utilizado en operaciones financieras, comerciales e industriales por excelencia. El Sistema Decimal es sin duda con el que más nos hallamos familiarizados porque es el que aprendimos a utilizar desde pequeños y con el que trabajamos en nuestras operaciones diarias, pero es necesario que recordemos algunas características de este sistema: Este sistema utiliza 10 elementos o símbolos, y son los siguientes: (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), utiliza una base exponencial a la 10, por lo que si analizamos el siguiente número 567, podemos analizar que el 7 corresponde a las unidades porque es el primer número a la derecha, el 6 corresponde a las decenas, por estar en el segundo lugar a la derecha, y el 5 corresponde a centenas, debido a que se encuentra en el tercer lugar a la derecha. Pero por qué razón el lugar que guardan los números a la derecha es importante? La razón es por su base exponencial con el número de los dígitos que utiliza, que son 10. Veamos el ejemplo anterior con la base exponencial, en el cual sólo llegaremos hasta las centenas de millar, pero éste puede seguir creciendo hacia la izquierda. 10 5 10 4 10 3 10 2 10 1 10 0 10000 1000 1000 100 10 1 6

Ahora retomemos el ejemplo anterior con el número 567 El cual podríamos representar de la siguiente manera: 10 2 10 1 10 0 100 10 1 5*100= 500 6*10= 60 7*1= 7 Centenas (5) Decenas (6) Unidades (7) Sistema Binario El Sistema Binario es el más relevante para una computadora debido a que utiliza sólo 0 o 1, para una computadora son impulsos eléctricos, que le indican encendido o apagado, falso o verdadero, una computadora sólo puede entender su propio lenguaje, conocido como lenguaje máquina, el cual tiene su fundamento en el sistema binario, es por esta razón que son necesarias las conversiones de hexadecimal, decimal y octal a binario, ya que la máquina no podrá ejecutar una instrucción en un sistema diferente al binario. Como analizamos previamente el Sistema Binario está representado sólo por 2 elementos o símbolos, el 0 y 1. La base exponencial del sistema binario es a la 2 y la podemos representar de la siguiente manera: 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 Ahora tomaremos un ejemplo distinto, analizaremos cómo se representa el número binario 11110011. 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 128 64 32 16 8 4 2 1 1 * 128 = 1 1 * 64 = 1 1 * 32 = 1 1 * 16 = 1 0 * 8 = 0 0*4 = 0 1*2 = 1 1*1 = 1 Conversión entre Sistema Decimal y Binario 1. El primer paso para la conversión será escribir cada dígito binario y multiplicarlo por su respectivo valor posicional: 0 1 0 1 1 0 1 Número binario 64 32 16 8 4 2 1 Valores posicionales 0 32 0 8 4 0 1 Resultado 7

2. El siguiente paso para la conversión será sumar todos los resultados de las multiplicaciones: 0 1 0 1 1 0 1 Número binario 64 32 16 8 4 2 1 Valores posicionales 0 + 32 + 0 + 8 + 4 + 0 + 1 Resultado 45 Número decimal De esta manera el número binario 0101101 convertido a decimal es 45. Conversión del Sistema Decimal a Binario 1. El primer paso para la conversión será dividir el número decimal entre 2, colocar su cociente a la izquierda y su residuo en la parte inferior: 22 45 / 2 1 2. El siguiente paso es anotar el cociente a la izquierda y volver a dividir entre 2, y repetir esta operación hasta que el residuo sea 0: 0 1 / 2 2 / 2 5 / 2 11 / 2 22 / 2 45 /2 1 0 1 1 0 1 Por lo tanto, el número decimal 45 en notación binaria es 101101 Representación de enteros La representación de enteros en una computadora es muy importante debido a que existe información numérica que debe ser operada considerando en ella cantidades no fraccionarias, para esto podemos observar que cada empresa ha gestionado la información de forma diferente, pero considerando un sistema escolar en donde se deben indicar las edades de los alumnos en su sistema de control escolar, lo común es que el sistema indique la edad del alumno al momento de hacer la consulta, y que esta información sea representada de forma entera, no es común que se indique que un alumno tiene 19.5 años, esto debido a que un alumno podría tener 19 años con 6 meses, sino que la forma correcta es indicar que el alumno tiene 19 años, en una forma entera, así como éste, hay mucho números enteros que la computadora debe representar y gestionar. Una vez que hemos analizado los diferentes sistemas que se pueden utilizar para representar datos, así como las diferentes conversiones que se pueden hacer de un tipo a otro es importante conocer cómo pueden ser representados o almacenados en la computadora. Es importante recordar que los números se representan en enteros y fraccionarios. Los enteros tienen una taxonomía en la que su representación puede dividirse en representación para enteros sin signo y representación para enteros con signo. 8

A su vez la representación de los enteros con signo pueden dividirse en a) Formato de signo y magnitud; b) Formato de complemento a uno y c) Formato de complemento a dos. Analizaremos cada uno a continuación: Formato de enteros sin signo Por ejemplo, para almacenar 7 en una localidad de memoria de 8 bits: 1. El primer paso es convertir el número a binario, dando como resultado 111 0 1 / 2 3 / 2 7 /2 1 1 1 2. El segundo paso es completar el número a la izquierda añadiendo cinco 0 hasta tener 8 bits, por lo que el número binario almacenado en memoria para 8 bits quedaría así: 00000111 Formato de signo y magnitud Esta representación reserva un bit para el signo del número, siendo este bit el de mayor peso, al que se le denomina bit de signo. La convención que se sigue en esta representación es que los números positivos se representan con un bit de signo 0, y los negativos con un bit de signo 1. Esto significa que al reservar un bit para el signo, el número máximo de bits para el intervalo será N-1, en donde N es el número de bits asignados para representar a un entero, utilizando el formato de signo y magnitud. El proceso para representar o almacenar números enteros utilizando el formato de signo y magnitud es el siguiente: 1. El primer paso es cambiar el número decimal a binario e ignorar el signo. 2. El segundo paso es completar el número en caso de que éste sea menor a N-1, agregando los 0 (ceros) a la izquierda hasta que número sea igual a N-1. 3. El tercer paso consiste en que si el número es positivo, un 0 se le agrega a la izquierda y así se convierte en un número de N bits, en caso de que sea negativo se agrega un 1 convirtiéndolo también en un número de N bits. Para entender mejor el proceso, analicemos el siguiente ejemplo: Almacene +7 en una localidad de memoria de 8 bits usando una representación con el formato de signo y magnitud. 1. Cambiamos el número decimal a binario 9

0 1 / 2 3 / 2 7 /2 1 1 1 2. La localidad de memoria es de 8 bits, por lo que N = 8, y N -1 = 7, y al haber realizado la conversión nos damos cuenta que el número sólo es de 3 bits, por lo que agregamos cuatro 0 a la izquierda para que sea igual a N - 1, quedando de la siguiente manera: 0000111 3. Dado que el número es positivo agregamos un 0 a la izquierda quedando así representado con el intervalo N que es igual a 8 bits, por lo que el resultado final del número a almacenar en memoria es: 00000111 Nota: Si el número hubiera sido negativo, -7 se almacenaría en memoria como: 10000111 Por lo tanto, podemos observar que como inicialmente se precisó, se reserva un bit para indicar el signo, 0 para positivo y 1 para negativo, este bit es el del extremo izquierdo. Formato de complemento a uno Esta representación utiliza la convención de dejar a los números positivos sin signo, por lo que el número +5 sólo se representaría una vez realizada la conversión, sin ningún bit adicional, pero en el caso de los números negativos una vez convertidos a binario se debe obtener su complemento, de esta forma se conoce cuando un número es positivo o negativo, el positivo queda igual, mientras que el negativo es el complemento. Para entender mejor el proceso analicemos el siguiente ejemplo: Almacene -7 en una localidad de memoria de 8 bits usando una representación con el formato de signo y magnitud. 1. Cambiamos el número decimal a binario 0 1 / 2 3 / 2 7 /2 1 1 1 10

2. Una vez realizada la conversión nos damos cuenta que el número sólo es de 3 bits por lo que agregamos cinco 0 (ceros) a la izquierda para que sea igual a N (8 bits), quedando de la siguiente manera: 00000111 3. Dado que el número es negativo obtenemos su complemento, quedando así: 11111000 Nota: El complemento de un número binario consiste en cambiar todos sus elementos al símbolo contrario, los 0 se cambian a 1, y los 1 se cambian a 0. En el ejemplo anterior si el número hubiera sido +7, el ejercicio habría terminado en el paso 2 y ya no se habría realizado ninguna otra operación siendo el resultado para +7 = 00000111. Formato de complemento a dos Esta representación utiliza la convención similar a la de complemento a uno para los números positivos, pero en el caso de los números negativos una vez convertidos a binario se le aplica un complemento a todos los bits obtenidos con excepción de los que están en el extremo derecho hasta el primer 1 (inclusive), éstos permanecen sin cambios, por lo que no se les aplica complemento. Para entender mejor el proceso analicemos el siguiente ejemplo: Almacene -7 en una localidad de memoria de 8 bits usando una representación con el formato de complemento a 2. 1. Cambiamos el número decimal a binario 0 1 / 2 3 / 2 7 /2 1 1 1 2. Una vez realizada la conversión nos damos cuenta que el número sólo es de 3 bits por lo que agregamos cinco 0 a la izquierda para que sea igual a N (8 bits), quedando de la siguiente manera: 00000111 3. Dado que el número es negativo obtenemos el complemento de todos los bits, con excepción de los que están en el extremo derecho hasta el primer 1 (inclusive), quedando así: 11111001 En este ejemplo como el primer elemento a la derecha fue 1 se aplicó el complemento para todos los demás. 11

Veamos otro ejemplo: Almacene -40 en una localidad de memoria de 16 bits usando una representación con el formato de complemento a dos 1. Cambiamos el número decimal a binario. 0 1 / 2 2 / 2 5 / 2 10 / 2 20 / 2 40 /2 1 0 1 0 0 0 2. Una vez realizada la conversión nos damos cuenta que el número sólo es de 6 bits por lo que agregamos diez 0 a la izquierda para que sea igual a N (16 bits), quedando de la siguiente manera: 0000000000101000 3. Dado que el número es negativo obtenemos el complemento de todos los bits, con excepción de los que están en el extremo derecho hasta el primer 1 (inclusive), siendo el resultado: 1111111111011000 En este ejemplo no obtuvimos el complemento de los primeros dígitos del extremo derecho hasta el 1 (inclusive), por lo que 1000 quedó igual y, sólo se hizo el complemento de todos los elementos restantes. Si observamos con detenimiento en caso de ser positivo se realiza el mismo procedimiento en el formato de complemento a dos que en el formato de complemento a uno, la diferencia entre estos dos formatos radica cuando tenemos un número negativo. Representación de punto flotante La representación de números de punto flotante es ocupada cuando se necesita indicar una mayor precisión en los números, si consideramos nuevamente el ejemplo de un sistema de control escolar que almacena las calificaciones de los alumnos, éstas podrían ser guardadas en un formato entero. Por ejemplo, para un alumno que tiene cuatro materias en un periodo escolar, las siguientes podrían ser sus calificaciones: 8, 10, 7, 9, posiblemente en la etapa de almacenamiento observaríamos que no hay una necesidad de la representación de números de punto flotante, pero si una de las principales funciones del sistema fuera obtener el promedio de las calificaciones, el resultado sería sumar las 4 calificaciones y dividirlas entre 4, lo que nos daría un resultado fraccionario de 8.5, por lo tanto para representar este número necesitamos hacer uso de la representación de punto flotante. 12

La necesidad del uso de números de punto flotante se da debido a que muchas veces se cuentan con una cantidad de datos muy grande para la cual es necesario poder evaluar resultados de acuerdo a la precisión del dato, es decir, si una universidad quisiera que el sistema de control le ayudara a decidir el mejor promedio de generación sería muy difícil si sólo hubiera utilizado enteros en sus calificaciones y si al tener una fracción siempre hubiera ocupado el redondeo, con la finalidad de siempre ocupar enteros, habría muchas calificaciones finales iguales, esta problemática la resuelve el uso de números de punto flotante, que la computadora utiliza de forma frecuente. Conversión a Binario Para poder convertir un número de punto flotante a binario debe utilizarse el siguiente procedimiento: 1. Convertir la parte entera a binario (este paso se realiza de la misma manera que se mostró con los enteros). 2. Convertir la parte fraccionaria a binario, para lo cual el método empleado es la multiplicación repetitiva de la fracción por 2, del resultado de la multiplicación se extrae de la parte entera que se convierte en el dígito binario y la parte fraccionaria vuelve a multiplicarse por 2, y se repite esta operación nuevamente hasta haber llegado a 0.0 o haber completado el número de bits solicitados. 3. Poner un punto decimal entre las dos partes. Para entender mejor el procedimiento analicemos el siguiente ejemplo. Transforme la fracción 0.875 a binario. 1. Como en la parte entera tenemos 0 saltamos al paso 2, pero colocamos el 0 como parte entera. 2. Convertimos la parte fraccionaria a binario, siguiendo estos pasos: a. Multiplicamos la fracción inicial (.875) por 2 Parte entera Fracción 0.875 1.750 0 b. Extraemos la parte entera y la colocamos abajo como nuestro primer dígito binario Parte entera Fracción 0.875 1.750 0 1 c. Multiplicamos nuevamente por 2 la última fracción obtenida (.750) Parte entera Fracción Fracción 0.875 1.750 1.50 0 1 13

d. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción 0.875 1.750 1.50 0 1 1 e. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte entera Fracción Fracción Fracción 0.875 1.750 1.50 1.0 0 1 1 f. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción Fracción 0.875 1.750 1.50 1.0 0 1 1 1 g. Multiplicamos nuevamente por 2 la última fracción obtenida (.0) Parte entera Fracción Fracción Fracción Fracción 0.875 1.750 1.50 1.0 0.0 0. 1 1 1 h. Como el resultado es 0.0, la fracción que nos queda es 0 por lo tanto la conversión de la fracción está completa 3. Ponemos el punto decimal entre los dos, y el resultado de la conversión es el siguiente 0.111 Analicemos un segundo ejemplo: Transforme la fracción 0.4 a un binario de 6 bits. 1. Como en la parte entera tenemos 0 saltamos al paso 2, pero colocamos el 0 como parte entera. 2. Convertimos la parte fraccionaria a binario, siguiendo estos pasos: a. Multiplicamos la fracción inicial (.875) por 2 Parte entera Fracción 0.4 0.8 0 14

b. Extraemos la parte entera y la colocamos abajo como nuestro primer dígito binario Parte entera Fracción 0.4 0.8 0 0 c. Multiplicamos nuevamente por 2 la última fracción obtenida (.750) Parte entera Fracción Fracción 0.4 0.8 1.6 0 0 d. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción 0.4 0.8 1.6 0 0 1 e. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte entera Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0 0 1 f. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0 0 1 1 g. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte entera Fracción Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0.4 0 0 1 1 h. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0.4 0 0 1 1 0 15

i. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte entera Fracción Fracción Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0.4 0.8 0 0 1 1 0 j. Extraemos la parte entera y la colocamos abajo como nuestro siguiente dígito binario Parte entera Fracción Fracción Fracción Fracción Fracción 0.4 0.8 1.6 1.2 0.4 0.8 0 0 1 1 0 0 k. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte Fracción Fracción Fracción Fracción Fracción Fracción entera 0.4 0.8 1.6 1.2 0.4 0.8 1.6 0 0 1 1 0 0 l. Multiplicamos nuevamente por 2 la última fracción obtenida (.50) Parte Fracción Fracción Fracción Fracción Fracción Fracción entera 0.4 0.8 1.6 1.2 0.4 0.8 1.6 0 0 1 1 0 0 1 3. Ponemos el punto decimal entre los dos, y el resultado de la conversión es: 0.011001 16

Referencias Arranz, A. (1994). Administración de datos y archivos por computadora. (2ª ed.) México, D. F.: Grupo Noriega Editores. Forouzan, B. A. (2003). Introducción a la ciencia de la computación: De la manipulación de datos a la teoría de la computación. México, D.F.: Editorial Cengage Learning. Morris, M. (1994). Diseño Digital. (3ª ed.; Roberto Escalona García, Trad.). México, D. F.: Pearson Educación. Recuperado el 1 de marzo de 2011, de http://books.google.com.mx/books?id=8whbtfnaenkc&printsec=frontcover&hl=es#v=onepage&q&f=false Referencias de la imagen Wikimedia Commons. (s. f.). Nuvola multimedia. Recuperada el 4 de abril de 2011, de http://commons.wikimedia.org/wiki/file:nuvola_multimedia.png (Bajo licencia GNU Lesser General Public). 17