Unidad 1 Introducción, definiciones básicas y representación interna de datos.

Documentos relacionados
TEMA V SISTEMAS DE NUMERACIÓN

UT01 03 Sistemas de codificación

Implantación de Sistemas Operativos 1º ASIR

Tipo de datos. Montse Bóo Cepeda. Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain.

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

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

Agenda. 0 Operaciones aritméticas 0 ASCII 0 UTF-8 0 Código Gray. 0 Números de punto flotante

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

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

CODIFICACIÓN DE LA FUENTE

INFORMÁTICA APLICADA A LA ECONOMÍA Tema 3: Representación de la Información. Verónica A. Bollati

Sistemas de Numeración. I semestre 2011

SISTEMAS DIGITALES. Margarita Pérez Castellanos

Arquitectura de Computadoras

Técnicas y Dispositivos Digitales 1. UNIDAD 3 Códigos Binarios

Representación digital de la información

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

Teoría 7. Lenguaje C. Int. a la Computación- Int. a la Programación Fund. De la Informática

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

OCW-V.Muto Sistemas de numeración Cap. III CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION

Representación Información

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

Departamento de Sistemas e Informática. Digital II - ECA. Representación de datos y aritmética básica en sistemas digitales.

Tema 1: Representación de los números

GENERALIDADES SOBRE SISTEMAS NUMÉRICOS. Transversal Programación Básica

1. REPRESENTACION DE DATOS

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

{, }, #, $, %, &,,, +,,/,(, ), },!,?, [, ]

TEMA 2 REPRESENTACIÓN BINARIA

Práctica 1 - Representación de la información

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.

UNIVERSIDAD DON BOSCO TECNICO EN INGENIERIA EN COMPUTACION

REPRESENTACION DE LA INFORMACION

LOGICA DIGITAL ARITMETICA DE COMPUTADORAS ASPECTOS FUNDAMENTALES 1. FORMA DE REPRESENTAR LOS NUMEROS ( FORMATO BINARIO)

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

Estructura de Computadores Tema 2. Representación de la información

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

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

2. Representación de la información

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

Ingeniería en Computación

Conceptos previos. Revisión de Sistemas Lógicos Formatos Numéricos. Dpto. Ingeniería Electrónica y Comunicaciones

NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL

SISTEMAS DE NUMERACION

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

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

Representación digital de la información

Organización del Computador 1. Sistemas de numeración y representación de la información

Fundamentos de Informática 1er curso de ingeniería Industrial. Tema 2. Datos. Tema 2. Datos

Computación I Representación Interna Curso 2011

Organización de Computadoras. Clase 2

Representación de Números

Tipos de datos y Operadores Básicos

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

Datos y tipos de datos

PRÁCTICA MANEJO INTERNO DE DATOS. Objetivos

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

SISTEMAS DE NUMERACIÓN

Tema 2: Conceptos básicos. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

REPRESENTACIÓN Y ARITMÉTICA. 1. Introducción Representaciones alfanuméricas y numéricas Operador y estructura de la ALU

ING. PEDRO ALBERTO ARIAS QUINTERO

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

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

LABORATORIO DE SISTEMAS MICROPROCESADOS PRÁCTICA N 2 ALGORITMOS ADICIONALES. Revisar algunos algoritmos que se emplearan en prácticas futuras.

MatemáticaDiscreta&Lógica 1

Computación 1. Representación Interna de Números

Informática I. Bases de Numeración. Alejandro Furfaro

ESCUELA POLITÉCNICA NACIONAL

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

Representación de números binarios en punto fijo y punto flotante.

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

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

Pr. Dr. Xavier Bonnaire

UNIDAD TEMÁTICA 1 CONCEPTOS GENERALES - INTRODUCCIÓN A LA INFORMÁTICA

1.1 Sistemas de numeración. Ejemplos de sistemas de numeración posicionales. Base numérica. Circuitos Digitales

Este método de diseño de algoritmos en etapas, yendo de los conceptos generales a los de detalle, se conoce como método descendente (top-down).

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

Universidad de San Buenaventura - Facultad de Ingeniería

Representación de la Información

TRABAJO DE INVESTIGACION SOBRE LAS CONVERCIONES DE LOS SISTEMAS NUMERICOS JIMMY DADNOVER ROZO GUERRERO

Práctica 1. Sistemas de Numeración y Representación de la Información

Tema 2: Sistemas y códigos numéricos

REPRESENTACION DE LA INFORMACION

4. Representación interna de la información

1. Introducción Representaciones alfanuméricas y numéricas Operador y estructura de la ALU

Empecemos! Los números, los carácteres y la computadora. Universidad de la Experiencia UZ 03/02/2016. Francisco José Serón Arbeloa 1

Colegio Diocesano San José de Carolinas

Tema 2 Representación de la información

TEMA II: SISTEMAS DE NUMERACIÓN

Sistemas Numéricos y Códigos Binarios

Fundamentos de Programación. El Sistema de Numeración Binario. Fundamentos de Programación. Página 02.0 de 44

TEMA 2 LA INFORMACIÓN Y SU REPRESENTACIÓ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.

Aritmética de Enteros

I. INTRODUCCIÓN. A cada valor de una señal digital se le llama bit y es la unidad mínima de información.

UNIDAD 1 NUMEROS COMPLEJOS

Calcule el cociente y el resto de la división $E8/$2A, con datos expresados en hexadecimal.

Computadores y Comunicaciones. Tema 3: Representación Digital de la Información

Transcripción:

Unidad 1 Introducción, definiciones básicas y representación interna de datos. INTRODUCCIÓN Y DEFINICIONES BÁSICAS 3 DEFINICIÓN DE INFORMÁTICA 3 QUÉ ES UNA COMPUTADORA? 4 SISTEMA INFORMÁTICO 5 PROCESO AUTOMÁTICO DE DATOS 5 CONCEPTO DE INFORMACIÓN 6 ESQUEMA DEL PROCESO A SEGUIR PARA LA RESOLUCIÓN DE UN PROBLEMA 6 LOS DATOS, SU PROCESAMIENTO Y REPRESENTACIÓN 8 UNIVERSO DE INTERÉS 8 OBJETOS Y SUCESOS 8 ENTES Y ATRIBUTOS 8 DATOS 8 REPRESENTACIÓN INTERNA Y EXTERNA DE DATOS 9 SISTEMAS DE NUMERACIÓN 10 EL SISTEMA DECIMAL 10 TEOREMA FUNDAMENTAL DE LA NUMERACIÓN 11 EL SISTEMA BINARIO 11 SUMA Y RESTA BINARIA 11 CONVERSIÓN BINARIO-DECIMAL 13 CONVERSIÓN DECIMAL-BINARIO 14 EL SISTEMA HEXADECIMAL 17 CONVERSIÓN HEXADECIMAL-DECIMAL 18 CONVERSIÓN DECIMAL-HEXADECIMAL 18 CONVERSIÓN HEXADECIMAL-BINARIO 19 CONVERSIÓN BINARIO- HEXADECIMAL 20 1

REPRESENTACIÓN INTERNA DE DATOS 21 VALORES NUMÉRICOS 21 REPRESENTACIÓN DE VALORES ENTEROS (POSITIVOS Y NEGATIVOS) 21 VALOR ABSOLUTO SIN SIGNO (O MÓDULO SIN SIGNO) 22 VALOR ABSOLUTO Y SIGNO (O MÓDULO Y SIGNO) 22 COMPLEMENTO A 1 (C-1) 23 COMPLEMENTO A 2 (C-2) O COMPLEMENTO A LA BASE 25 EXCESO 2 N-1 27 DECIMAL CODIFICADO EN BINARIO 28 REPRESENTACIÓN DE VALORES REALES 30 REPRESENTACIÓN DE VALORES ALFANUMÉRICOS 32 EL CÓDIGO ASCII 32 BIBLIOGRAFÍA 34 2

Introducción y definiciones básicas Definición de Informática La Informática aborda la adquisición, representación, tratamiento y transmisión de la información. Estas operaciones se realizan automáticamente utilizando sistemas (máquinas) denominados computadores. La Informática nace de la idea de ayudar al ser humano en aquellos trabajos rutinarios y repetitivos, generalmente de cálculo y de gestión, donde es frecuente la repetición de tareas. La idea es que una máquina puede realizarlos mejor, aunque siempre bajo la supervisión de las personas. Informática es una palabra de origen francés formada por la contracción de los vocablos INFORmación y automática. La Real Academia Española de la lengua la define como el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores. El término información hace referencia aquí a la utilización de símbolos, con los que se representan convencionalmente hechos, objetos o ideas. La definición para Informatique dada por la Academia Francesa es la de Ciencia del tratamiento racional y automático de la información, considerando ésta como soporte de los conocimientos humanos y de las comunicaciones, en los campos técnico, económico y social. La palabra Informática suele utilizarse como sinónimo de Ciencia e Ingeniería de los Computadores (en inglés, Computer Science and Engineering), habitualmente en los países anglosajones. La Informática se puede definir de muchas formas; nosotros adoptamos la siguiente definición: INFORMÁTICA es la ciencia que estudia el tratamiento automático y racional de la información. Se dice que el tratamiento es automático por ser máquinas las que realizan los trabajos de captura, proceso y presentación de la información, y se habla de racional por estar todo el proceso definido a través de programas que siguen el razonamiento humano. Desde la aparición de las primeras máquinas de cálculo, no se ha detenido la investigación para obtener máquinas cada vez más potentes, rápidas, pequeñas y baratas. En paralelo con el desarrollo de éstas, avanza la investigación para diseñar nuevas aplicaciones informáticas, es decir el conjunto de uno o varios programas y la documentación correspondiente para realizar un determinado trabajo. Un programa es el conjunto de órdenes o instrucciones que se dan a una computadora, en determinada secuencia, para realizar un proceso determinado. 3

Qué es una computadora? Desde el punto de vista informático, el elemento físico utilizado para el tratamiento de la información es el computador, computadora u ordenador (en estas clases usaremos indistintamente estos términos), que puede ser definido de la siguiente manera: Una computadora es una máquina compuesta de elementos físicos, en su mayoría de origen electrónico, capaz de realizar una gran variedad de trabajos a gran velocidad y con gran precisión, siempre que se le den las instrucciones adecuadas. 1 Una computadora es una máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas, y proporcionar la información resultante a través de un medio de salida; todo ello sin intervención de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en el propio computador. 2 Se denomina operaciones lógicas a aquellas que dan por resultado un valor VERDADERO o FALSO (por ej.: comparar símbolos, ya sean numéricos o no numéricos). Un computador puede considerarse como un sistema, cuyas salidas o resultados son función (dependen) de sus entradas, constituidas por datos e instrucciones. Entradas Computador Salidas Datos e Instrucciones Datos procesados Información o Los tres pilares básicos en los que se sustenta la Informática, y que veremos más adelante son: el elemento físico (hardware), el elemento lógico (software) y el elemento humano (personal informático) 1 Albarracín, Lancharro, García Lopez: Introducción a la Informática Capítulo 1 - Ed. Mac Graw-Hill. 2 A. Prieto - A. Lloris - J.C. Torres: Introducción a la Informática - Ed. Mac Graw- Hill 4

Sistema Informático Un sistema es un conjunto de partes que están integradas para lograr un objetivo. Se utiliza sistema informático para nombrar al conjunto de elementos necesarios (computadora, terminales, impresoras, etc.) para la realización y explotación de aplicaciones informáticas. Considerando la definición de computador, se puede decir que Informática es el campo de conocimiento que abarca todos los aspectos del diseño y uso de los computadores. Proceso automático de datos En esencia un computador lleva a cabo procesos de datos, con la particularidad de que puede operar velozmente gran cantidad de datos en forma automática, sin intervención humana. Cuando pensamos en relación con cualquier tema, mentalmente realizamos operaciones sobre representaciones simbólicas (imágenes y palabras) de propiedades, cualidades conocidas de entes o sucesos. Estas representaciones simbólicas son datos que seleccionamos, reunimos, y sobre los cuales operamos. Esto da por resultado información, que también son símbolos de propiedades de entes y sucesos, que antes desconocíamos. Datos Operaciones sobre datos Información Decisión Los pasos necesarios para obtener información (resultado) a partir de datos (materia prima) constituyen un proceso de datos, o tratamiento de datos. Los subprocesos en que puede dividirse un proceso de datos mental son: Entrada: incorporar selectivamente los datos pertinentes necesarios, usando típicamente la vista y el oído para censarlos del exterior. Memorización: registrar en la mente los datos. Elaboración: relacionar los datos primarios, en principio desordenados. Realizar operaciones (de restar por ejemplo). Los valores así hallados a partir de los datos primarios conocidos serán nuevos datos elaborados (información). Al realizar los cálculos anteriores también se establecen relaciones de orden, al suponer qué se hace primero y qué después. Luego pueden establecerse relaciones de equivalencia. Luego es posible usar la memoria para extraer datos estimativos. 5

Como resultado del procesamiento de datos efectuado se poseerá información. Ha resultado así un nuevo conjunto de representaciones simbólicas significativas, obtenidas a partir de aquellas correspondientes a los datos primarios. Se han obtenido símbolos a partir de otros símbolos. Salida: el resultado alcanzado (información "interna") puede ser exteriorizado como información externa, ya sea en forma verbal o escrita. En un proceso automático de datos, la computadora dispone de distintos elementos físicos que le permiten llevar a cabo estos mismos procesos. Por lo tanto existirán dispositivos que permitan la entrada/salida, la memorización y el proceso. Concepto de Información La información sirve para tomar decisiones, con vistas a un accionar concreto (presente o futuro), y se obtiene realizando operaciones sobre datos. Su elaboración permite tomar conocimiento de algún aspecto desconocido de la realidad, lo cual disminuye la incertidumbre existente antes de tomar una decisión. Al conjunto de operaciones que se realizan sobre una información se denomina tratamiento de la información y abarca las siguientes etapas: Entrada: es el conjunto de operaciones cuya misión es tomar los datos del exterior y enviarlos a la computadora. Para ello en ocasiones es necesario realizar operaciones de depuración o validación de los mismos. Estos datos deben quedar en la memoria de la computadora para su posterior tratamiento. Proceso: es el conjunto de operaciones que elaboran los datos de entrada para obtener los resultados se le llama proceso, y consiste generalmente en una combinación adecuada de operaciones de origen aritmético y pruebas de tipo lógico. Salida: es el conjunto de operaciones que proporcionan los resultados de un proceso a las personas correspondientes. Se engloban en la salida también aquellas operaciones que dan forma a los resultados y los distribuyen adecuadamente. La información producida en un proceso de datos puede servir como dato en otro proceso. Esquema del proceso a seguir para la resolución de un problema Para resolver una situación problemática es necesario diseñar un algoritmo. Un algoritmo es un procedimiento que asegura, mediante un número finito de pasos, una salida requerida a partir de una entrada dada, independientemente del tiempo en que se realiza. 6

El algoritmo necesario para la resolución de un problema queda definido cuando una aplicación informática es analizada, de tal forma que posteriormente cada proceso se codifica en un lenguaje que sea reconocible por la máquina (directa o indirectamente), y tras una preparación final obtendremos una solución ejecutable por la computadora. La automatización de un problema para que pueda ser desarrollado por una computadora se representa en el siguiente esquema. Planteamiento de un problema Análisis del mismo Algoritmo de resolución Ejecución por computadora 7

Los datos, su procesamiento y representación Universo de interés Llamaremos universo de interés al conjunto de elementos que participan en la solución del problema que encaramos, en forma necesaria y suficiente. Necesaria, porque sin su participación la solución del problema sería imposible. Suficiente, porque el agregado de nuevos elementos sólo perjudicaría nuestra solución del problema, agregando redundancia y confusión. La elección adecuada de nuestro universo de Interés, es decir, de los elementos necesarios y suficientes para la solución de nuestro problema es un tema que escapa a nuestra materia, pero que será un objetivo fundamental de nuestra preparación profesional. Objetos y sucesos Nuestro universo de Interés estará compuesto por una serie de objetos, concretos o abstractos, que interactúan entre sí generando lo que llamaremos sucesos. EJEMPLO: Un avión es un objeto. El aterrizaje de un avión es un suceso. Entes y atributos Llamaremos entes a todos los objetos y sucesos de nuestro universo de interés. Cada ente tiene una serie de propiedades y características, que llamaremos Atributos de dicho ente. EJEMPLO: Un avión puede tener atributos tales como cantidad de motores, modelo, autonomía de vuelo, etc. Un aterrizaje puede tener atributos tales como normal, en emergencia, visual, por guía electrónica, etc. Datos Llamaremos datos a los "valores" conocidos de los atributos de un ente. Estos datos serán representaciones simbólicas consistentes en valores numéricos, caracteres alfabéticos, signos como el "+", el "-", la "/", etc., con significado preciso para nosotros en el contexto de nuestro problema. EJEMPLOS: 8

FERNANDEZ, Juan Manuel, sería el dato correspondiente al atributo "Apellido y Nombres" de un individuo. Como vemos, en este caso, el dato es un conjunto de caracteres alfabéticos. 25, podría ser un dato asociado con el atributo "edad" de una persona. En este caso, es, evidentemente un valor numérico. "SÍ", podría ser un dato correspondiente al atributo "Posee obra social" de un postulante a ingresar a un sistema de medicina prepaga, y será incorporado al sistema como un valor lógico. Los datos pueden ser captados directamente por el computador (por ejemplo, detectando electrónicamente un sonido o fonema, una temperatura, el contorno de una figura, o el paso de un objeto), o pueden ser dados en forma de letras y números. Los datos que maneja un programa son, en un principio, informaciones no elaboradas y, una vez procesados (ordenados, sumados, comparados, etc.) constituyen lo que se denomina información útil o simplemente resultados. Representación interna y externa de datos Representación externa: Forma en que los datos son presentados ante nosotros para su lectura (por ejemplo en el monitor de nuestra computadora, en la impresora, etc.). Esta representación debe ser, en consecuencia, entendible por nosotros. Por ejemplo, un "1" debe aparecer ante nuestros ojos "con forma de 1", de modo que podamos distinguir este "dibujo" de cualquier otra cosa. De la misma forma, un "Do sostenido" debe sonar en nuestros oídos tal como entendemos a un "Do sostenido" y no como un "Si bemol" en un parlante de un sistema multimedia. Representación interna: Forma en que los datos son almacenados y procesados en nuestro sistema. Como veremos más adelante, esta representación interna será siempre en binario y dependerá del software su adecuada interpretación. La ventaja de operar en el interior de un computador con dos estados eléctricos, correspondientes al 0 y al 1 binarios, reside en que operar tecnológicamente con dos estados es mucho más simple y más confiable que operar con diez valores de corrientes o tensiones eléctricas distintos (que serían los necesarios para representar los dígitos 0 al 9 del sistema decimal). 9

Sistemas de numeración Un sistema de numeración es el conjunto de símbolos y reglas que se utilizan para la representación de datos numéricos o cantidades. Un sistema de numeración se caracteriza fundamentalmente por su base, que es el número de símbolos distintos que utiliza, y además es el coeficiente que determina cuál es el valor de cada símbolo dependiendo de la posición que ocupe. Los sistemas de numeración actuales son posicionales, en los mismos el valor relativo que representa cada cifra o cantidad, depende de su valor absoluto y de la posición relativa que ocupa dicha cifra. Notación: en algunos casos usaremos la notación número (B para indicar que número está expresado en base B. Por ejemplo: Por ejemplo 1936 (10. El sistema decimal Es un sistema posicional que utiliza la base 10, que corresponde al número de símbolos disponibles para la representación de cantidades, estos símbolos ( o dígitos) son: 0 1 2 3 4 5 6 7 8 9 Un determinado número decimal N se puede expresar en la siguiente forma: N = dígito i * base i para i desde -m hasta n Donde: base 10 i m Posición respecto a la coma Número de dígitos a la derecha de la coma n Número de dígitos a la izquierda de la coma menos 1 dígito Cada uno de los que componen el número EJEMPLO: 23.1416 (10 = 6 * 10-4 + 1 * 10 3 + 4 * 10-2 + 1 * 10-1 + 3 * 10 0 + 2 * 10 1 La fórmula vista antes se basa en el Teorema Fundamental de la Numeración, que relaciona una cantidad expresada en cualquier sistema de numeración con la misma cantidad expresada en sistema decimal. 10

Teorema Fundamental de la Numeración Supongamos una cantidad expresada en un sistema cuya base es B, y representamos por X i cada uno de los dígitos que contiene dicha cantidad, donde el subíndice indica la posición del dígito respecto de la coma decimal, posición que hacia la izquierda de la coma se numera desde 0 con un incremento de 1, y hacia la derecha se numera desde 1 con un incremento de 1. El Teorema Fundamental de la Numeración (TFN) dice que el valor decimal de una cantidad expresada en otros sistemas de numeración, está dado por la expresión:...x 4 * B 4 + X 3 * B 3 + X 2 * B 2 + X 1 * B 1 + X 0 * B 0 + X -1 * B -1 + X -2 * B -2 + X -3 * B -3... Donde el número en base B es...x 4 X 3 X 2 X 1 X 0. X -1 X -2 X -3... El sistema binario La base o número de símbolos que utiliza el sistema binario es 2, siendo éstos 0 y 1. Cada cifra o dígito de un número representado en este sistema se denomina bit (por contracción de binary digit) Suma y resta binaria La aritmética binaria es análoga a la decimal, con la salvedad de que este sistema se basa sólo en 2 dígitos (0 y 1). Suma binaria + 0 1 Resta binaria - 0 1 0 0 1 0 0 No 1 1 0 (*) 1 1 0 (*) 0 con acarreo 1 11

EJEMPLOS: Sumas 1 0 0 1 0 0 1 1 0 0 1 + 1 0 0 1 0 + 1 0 0 1 1 1 1 0 1 1 0 1 0 1 1 0 0 Aplicando el Teorema Fundamental de la Numeración se podría calcular el valor decimal de estas cifras y comprobar que, en decimal, las operaciones planteadas son respectivamente: 3 6 2 5 + 1 8 + 1 9 5 4 4 4 Restas 1 1 1 1 1 1 1 1 1 1 0 0-1 0 1 0 1 0-1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 Aplicando el Teorema Fundamental de la Numeración se podría calcular el valor decimal de estas cifras y comprobar que, en decimal, las operaciones planteadas son respectivamente: 6 3 6 0 + 4 2 + 4 2 2 1 1 8 12

Conversión binario-decimal Para convertir un valor expresado en binario a decimal, basta con aplicar el TFN. Por ejemplo: 1101 (2 = 1 * 2 0 + 0 * 2 1 + 1* 2 2 + 1 * 2 3 = 1*1 + 0*2 + 1*4 + 1*8 = 1 + 0 + 4 + 8 = 13 (10 Como vemos, el valor en decimal de un número expresado en binario, se obtiene sumando las potencias de 2 correspondientes a las posiciones de todos sus dígitos cuyo valor es 1. Para realizar la conversión de números con mayor cantidad de bits, es útil disponer de una tabla de potencias de 2. Posición (Exponente) Potencia de 2 16 65536 15 32768 14 16384 13 8192 12 4096 11 2048 10 1024 9 512 8 256 7 128 6 64 5 32 4 16 3 8 2 4 1 2 0 1 13

-1 0,5-2 0,25-3 0,125-4 0,0625-5 0,03125-6 0,015625-7 0,0078125-8 0,00390625-9 0,00195313-10 0,00097656 En el ejemplo anterior, usando la tabla, debemos sumar las potencias de 2 correspondientes a las posiciones 0, 2 y 3 (valores 1). Luego: 1101 (2 = 2 0 + 2 2 + 2 3 = 1 + 4 + 8 = 13 (10 Para convertir el binario 11.001001 a decimal usando la tabla Posición 1 0-1 -2-3 -4-5 -6 Bit 1 1. 0 0 1 0 0 1 Potencia 2 1 0,125 0,015625 Por lo tanto 11.001001 (2 = 2 + 1 + 0,125 + 0,015625 = 3,140625 (10 Conversión decimal-binario Método de las sucesivas divisiones por 2: se utiliza para convertir números enteros en decimal a su respectivos número entero en binario. Se trata de dividir el número original y los sucesivos cocientes por 2, hasta que el cociente de una división resulte con valor 0, la sucesión de todos los restos obtenidos, tomados en orden inverso proporciona la representación binaria del número dado. 14

EJEMPLO: Convertir el número 19 a binario. 19 2 1 9 2 1 0 0 1 1 1 4 2 0 2 2 0 1 2 1 0 19 (10 = 10011 (2 Método de las sucesivas multiplicaciones por 2: se utiliza para convertir una fracción decimal en su equivalente fracción en binario. El método consiste en multiplicar la fracción decimal dada por 2, la parte entera del resultado es el primer dígito binario de la fracción convertida. Luego se repite el proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos de la fracción que buscamos. Este proceso se repite hasta que se anule la parte fraccionaria de un resultado parcial o hasta obtener una cantidad de dígitos binarios que nos permitan no sobrepasar un error dado. Una fracción binaria, al igual que una decimal puede tener un conjunto de dígitos que se repiten periódicamente. 15

EJEMPLOS: Convertir la fracción decimal 0,75 en fracción binaria. Verificación Posición Pot de 2 0,75 * 2 = 1,50 digito 1 1-1 0,50 0,50 * 2 = 1,00 digito 2 1-2 0,25 0,75 Por lo que 0,75 (10 = 0.11 (2 Convertir la fracción decimal 0.62 en fracción binaria. Verificación Posición Pot de 2 0,62 * 2 = 1,24 digito 1 1-1 0,5 0,24 * 2 = 0,48 digito 2 0-2 0,48 * 2 = 0,96 digito 3 0-3 0,96 * 2 = 1,92 digito 4 1-4 0,0625 0,92 * 2 = 1,84 digito 5 1-5 0,03125 0,84 * 2 = 1,68 digito 6 1-6 0,015625 0,68 * 2 = 1,36 digito 7 1-7 0,0078125 0,36 * 2 = 0,72 digito 8 0-8 0,72 * 2 = 1,44 digito 9 1-9 0,0019531 0,44 * 2 = 0,88 digito 10 0-10 0,88 * 2 = 1,76 digito 11 1-11 0,0004883 0,76 * 2 = 1,52 digito 12 1-12 0,0002441 0,619873 Por lo que 0,62 (10 = 0.100111101011 (2 con un error inferior a 2-12 Para convertir un número con parte entera y fraccionaria, deberemos aplicar los dos métodos anteriores: convertimos a binario la parte entera convertimos a binario la parte decimal sumamos o combinamos ambos resultados Para convertir el número 13,25 en su equivalente binario: Convertimos 13 a binario. Por lo visto antes 13 (10 = 1101 (2. Convertimos 0,25 a binario. Por lo visto antes 0,25 (10 = 0.01 (2. Sumando los resultados de las conversiones parciales resulta 13,25 (10 = 1101.01 (2. 16

Método de las restas sucesivas de potencias de 2: se utiliza para convertir cualquier número decimal con o sin parte fraccionaria. Para usar este método es necesario disponer de una tabla con las potencias de 2 (positivas y negativas), como la presentada anteriormente El método consiste en tomar el número a convertir y restarle la mayor potencia de 2 inferior al mismo, luego al resultado de la resta se le aplica el mismo proceso, y así sucesivamente hasta obtener un resultado 0 o inferior al error que deseamos cometer en la conversión. EJEMPLOS: Convertir el número decimal 1992 a binario Valor Mayor Pot. de 2 Posición Diferencia Bits 1992 1024 10 968 1 en posición 10 968 512 9 456 1 en posición 9 456 256 8 200 1 en posición 8 200 128 7 72 1 en posición 7 72 64 6 8 1 en posición 6 8 8 3 0 1 en posición 3 El proceso finaliza al haber obtenido 0 como resultado de una resta. El número binario con bits 1 en las posiciones indicadas y 0 en las restantes es el número buscado. Posición 10 9 8 7 6 5 4 3 2 1 0 Bit 1 1 1 1 1 0 0 1 0 0 0 Por lo tanto 1992 (10 = 11111001000 (2. El sistema hexadecimal Al igual que el sistema decimal y el binario, el sistema hexadecimal es un sistema posicional de base 16. Los 16 símbolos que se utilizan para la representación de cantidades son: 0 1 2 3 4 5 6 7 8 9 A B C D E F 17

Se asignan los siguientes valores (decimales) a los símbolos A, B, C, D, E y F. Símbolo Valor absoluto A 10 B 11 C 12 D 13 E 14 F 15 Ejemplos de números hexadecimales: 1AF, 3D, 17, 70B. La aritmética en este sistema es análoga a la de los anteriores. Conversión hexadecimal-decimal Se aplica el Teorema Fundamental de la Numeración. EJEMPLOS a) Convertir el número hexadecimal 2E7 a decimal: 2E7 (16 = 7 * 16 0 + E * 16 1 + 2 * 16 2 = 7*1 + E*16 + 2* 256 = 7 + 224 + 512 = 743 (10 Para números con parte fraccionaria se emplean las potencias de 16 con exponente negativo (en forma análoga a lo explicado para sistema binario). Conversión decimal-hexadecimal Método de las sucesivas divisiones por 16: se utiliza para convertir números decimales enteros a hexadecimal. Se trata de dividir el número original y los sucesivos cocientes por 16 hasta que el cociente de una división resulte con valor 0, la sucesión de todos los restos obtenidos, tomados en orden inverso proporciona la representación hexadecimal del número dado. 18

EJEMPLO: convertir el número decimal 1000 a hexadecimal 1000 16 40 62 16 8 14 3 16 3 0 Por lo tanto 1000 (10 = 3E8 (16. Método de las sucesivas multiplicaciones por 16: se utiliza para convertir una fracción decimal en su equivalente fracción hexadecimal. El método consiste en multiplicar la fracción decimal dada por 16, la parte entera del resultado es el primer dígito de la fracción hexadecimal. Luego se repite el proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los dígitos de la fracción que buscamos. Este proceso se repite hasta que se anule la parte fraccionaria de un resultado parcial o hasta obtener una cantidad de dígitos que nos permitan no sobrepasar un error dado. Ejemplo: convertir la fracción decimal 0.06640625 a hexadecimal 0.06640625 * 16 = 1.0625 0.0625 * 16 = 1.00 Por lo tanto 0.06640625 (10 = 0.11 (16. Combinando ambos métodos, podemos convertir números con parte entera y fraccionaria a hexadecimal. Conversión hexadecimal-binario Para convertir un número hexadecimal a binario se reemplaza cada dígito hexadecimal por su representación binaria con 4 dígitos. La siguiente tabla muestra la expresión binaria en cuatro dígitos de los dígitos hexadecimales. 19

Dígito Hexadecimal Dígitos Binarios 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111 EJEMPLO: Convertir el número hexadecimal A4.B3 a binario A 4. B 3 1010 0100. 1011 0011 Por lo tanto A4.B3 (16 = 10100100.10110011 (2. Conversión binario- hexadecimal Para convertir números binarios a hexadecimales se realiza un proceso inverso al anterior. Se agrupan los dígitos binarios de 4 en 4 a partir del punto decimal hacia la izquierda y hacia la derecha, reemplazando cada cuarteto por su correspondiente valor hexadecimal. EJEMPLO: Convertir el número binario 100101100.011 a hexadecimal. 0001 0010 1100. 0110 1 2 C. 6 Observar que de ser necesario se completan los cuartetos con ceros a izquierda o a derecha, según correspondan a la parte entera o fraccionaria respectivamente. Por lo tanto 100101100.011 (2 = 12C.6 (16 20

Representación interna de datos Como ya hemos explicado, existen dos tipos de representación de los datos: una externa, que es la que nosotros podemos comprender con nuestros sentidos, y otra interna que es la que el sistema interpreta, basada exclusivamente en ceros y unos. Los datos que forman parte de nuestro universo se clasifican en: Numéricos Alfanuméricos (caracteres) Lógicos Imágenes Sonidos Dado que, como dijimos, el sistema sólo opera en binario, cómo reconoce si una determinada sucesión de ceros y unos representa un valor numérico (y de qué tipo), uno alfanumérico o uno lógico? Esto depende del lenguaje de programación que utilicemos. La mayoría de los lenguajes obligan a una declaración explícita del tipo de los datos con los que trabajamos. Valores numéricos Desde el punto de vista de nuestras aplicaciones, los valores numéricos se dividen en: Valores enteros: son aquellos sin parte fraccionaria; (coincide con la definición matemática de número entero Naturales, Negativos y el cero ). Valores reales: son los valores numéricos con parte fraccionaria; (no coincide con la definición matemática de número real, que incluye a los números enteros) Representación de valores enteros (positivos y negativos) Veremos un conjunto de representaciones que son alternativas diferentes para una misma necesidad y que no necesariamente conviven en un sistema. Los números enteros se representan en lo que se denomina notación de punto fijo, porque tratándose de valores sin parte fraccionaria se asume el punto decimal fijo a la derecha de la cifra menos significativa. En todos los casos consideramos un formato de longitud fija, para calcular el rango y cantidad de valores posibles a representar. 21

NOTA Utilizaremos un byte para los ejemplos, pero lo expuesto vale para palabras de cualquier longitud. En todos los casos nos interesarán dos parámetros importantes de cada representación: - La cantidad de valores distintos que se pueden representar. - El rango de representación, dado por el valor mínimo y el valor máximo permitido. Valor absoluto sin signo (o módulo sin signo) El valor numérico se representa directamente por su expresión binaria, considerándoselo siempre positivo. EJEMPLO: Valor numérico entero 17 0 0 0 1 0 0 0 1 Obviamente la cantidad de valores que se pueden representar con n bits es siempre 2 n. Esto es independiente de la forma que adopte la representación. Por lo tanto, podemos concluir que el primer parámetro a evaluar sólo depende de la cantidad de bits utilizados. El rango de representación para n bits será [0, 2 n 1]. 1. En 8 bits el rango será [0, 255], en binario [00000000 a 11111111]. 2. En 16 bits el rango será [0, 65.535] 3. En 32 bits el rango será [0, 4.294.967.295]. Valor absoluto y signo (o Módulo y signo) En esta representación el bit más significativo (el que está más a la izquierda) representa el signo (0 para el signo + y 1 para el signo -). Los (n-1) bits restantes representan el módulo o valor absoluto del número en binario. EJEMPLO: Valor 10 0 0 0 0 1 0 1 0 Signo valor absoluto 22

Valor -10 1 0 0 0 1 0 1 0 Signo valor absoluto Como dijimos, la cantidad de valores que se pueden representar con n bits es 2 n, pero en este caso la mitad serán positivos y la mitad negativos. En los n-1 bits disponibles para representar el valor absoluto en binario, el máximo valor posible es 2 n-1 1. Por lo tanto el máximo valor positivo será 2 n-1 1, y el menor negativo será (2 n-1 1), de donde el rango de representación para n bits será [-2 n-1 + 1, 2 n-1 1]. 1. En 8 bits el rango será [-2 7 +1, 2 7-1].= [-127, 127] 2. En 16 bits el rango será [-2 15 +1, 2 15-1] = [-32767, 32767] 3. En 32 bits el rango será [-2 31 +1, 2 31 1] = [-2147483647, 2147483647]. Observación: este método de representación tiene rango simétrico (igual cantidad de valores positivos y negativos) y 2 representaciones para el 0 (+0 y 0) Complemento a 1 (C-1) También en esta representación el bit que está más a la izquierda representa el signo (0 para el signo + y 1 para el signo -). Los valores positivos se representan en binario con el primer bit (de signo ) en 0. Los valores negativos se representan por el complemento a 1 del positivo correspondiente (se complementan todos sus bits incluido el bit de signo). EJEMPLO: Valor 10 0 0 0 0 1 0 1 0 Signo valor absoluto Valor 10 1 1 1 1 0 1 0 1 Complemento a 1 de todos los bits del valor 10 (incluyendo el bit de signo, primero de la izquierda) 23

Reiteramos que la cantidad de valores que se pueden representar con n bits es 2 n, también en este caso la mitad serán positivos y la mitad negativos. En los n-1 bits disponibles para representar el valor, el máximo valor posible es 2 n-1 1. Por lo tanto el máximo valor positivo será 2 n-1 1, y el menor negativo será el complemento a 1 de este valor, que indicamos como C-1(2 n-1 1). La siguiente tabla muestra todos los valores posibles a representar en C-1 en 4 bits. Dec. Complemento a 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-7 1 0 0 0-6 1 0 0 1-5 1 0 1 0-4 1 0 1 1-3 1 1 0 0-2 1 1 0 1-1 1 1 1 0-0 1 1 1 1 signo El Complemento a 1 del máximo valor positivo 2 n-1 1 está dado por la expresión: C-1(2 n-1 1)= (2 n 1) (2 n-1-1) valor con todos los bits en 1 menos máximo valor positivo = 2 n 1 2 n-1 +1 se quita paréntesis = 2 n 2 n-1 se opera = 2 n-1 (2-1) factor común 2 n-1 = 2 n-1 Verificar que en el ejemplo con 4 bits dado, el menor valor es C-1(2 4-1 1) = C-1(2 3 1) = C-1(8 1) = C-1(7) = C-1(0111) = 1000 Y el rango de representación para 4 bits es [-7, 7]. El rango de representación para n bits será 24

[-(2 n-1 1), 2 n-1 1].= [-2 n-1 + 1, 2 n-1 1]. 1. En 8 bits el rango será [-2 7 +1, 2 7-1].= [-127, 127] 2. En 16 bits el rango será [-2 15 +1, 2 15-1] = [-32767, 32767] 3. En 32 bits el rango será [[-2 31 +1, 2 31 1] = [-2147483647, 2147483647]. Observación: este método de representación tiene rango simétrico (igual cantidad de valores positivos y negativos) y 2 representaciones para el 0 (+0 y 0) Complemento a 2 (C-2) o Complemento a la base También en esta representación el bit que está más a la izquierda representa el signo (0 para el signo + y 1 para el signo -). Los valores positivos se representan en binario con el primer bit (de signo) en 0. Los valores negativos se representan por el complemento a 2 del positivo correspondiente El negativo de un número se obtiene en dos pasos: 1. Se complementa el número positivo en todos sus bits, incluido el bit de signo, es decir se realiza el complemento a 1. 2. Al resultado se le suma 1 (en binario), despreciando el último acarreo si existe. EJEMPLO: Valor 10 0 0 0 0 1 0 1 0 Signo valor absoluto Valor 10 Paso 1 1 1 1 1 0 1 0 1 Complemento a 1 de todos los bits del valor 10 (incluyendo el bit de signo, primero de la izquierda) Paso 2 1 1 1 1 0 1 0 1 + 1 1 1 1 1 0 1 1 0 25

Valor -10 expresado en C-2 También en este caso la cantidad de valores que se pueden representar con n bits es 2 n, y la mitad serán positivos y la mitad negativos. La siguiente tabla muestra todos los valores posibles a representar en C-2 en 4 bits. Dec. Complemento a 2 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-7 1 0 0 1-6 1 0 1 0-5 1 0 1 1-4 1 1 0 0-3 1 1 0 1-2 1 1 1 0-1 1 1 1 1 Signo Observemos que existe una asimetría en esta representación: No existe representación para el 0, dado que C-2(0) = 2 n 0 = 2 n, que no es representable en n bits. (En el ejemplo en 4 bits el C-2(0000) = 2 4 0 = 2 4 = 10000, no representable en 4 bits). En los n-1 bits disponibles para representar el valor, el máximo valor positivo posible es 2 n-1 1 (7 en el ejemplo de 4 bits). Sin embargo el C-2 (2 n-1 ) = 2 n 2 n-1 = 2 n-1 (2-1) = 2 n-1, valor que sí puede representarse con n bits, y que en valor absoluto es mayor que el máximo positivo. (En el ejemplo en 4 bits el valor mínimo 8 se obtiene por el complemento a 2 de 8, siguiendo los pasos prácticos indicados arriba C-2(8) = C-2(1000) = 0111 + 1 = 1000). El rango de representación para n bits será [-2 n-1, 2 n-1 1]. 1. En 8 bits el rango será [-2 7, 2 7-1].= [-128, 127] 2. En 16 bits el rango será [-2 15, 2 15-1] = [-32768, 32767] 26

3. En 32 bits el rango será [[-2 31, 2 31 1] = [-2147483648, 2147483647]. En la tabla de ejemplo para 4 bits, pueden observarse algunas características de esta representación que se cumplen para cualquier cantidad de bits: El 0 se representa con todos los bits en 0. El máximo valor positivo se representa con el bit de signo en 0 y todos los demás en 1. El mínimo valor negativo se representa con el bit de signo en 1 y todos los demás en 0. El 1 se representa con todos los bits en 1. Exceso 2 n-1 Llamamos Exceso2 n-1 de un valor numérico X al valor X + 2 n-1. Este método no utiliza bit de signo, con lo cual todos los bits representan el valor absoluto o módulo. El valor a representar se corresponde con el número dado más el exceso, que para n bits viene dado por 2 n-1. EJEMPLO: Para n = 8 bits, el exceso es de 2 8-1 = 2 7 =128, con lo cual el número 10 se representa como 10 + 128 = 138 (en binario) el número 10, se representa 10 + 128 = 118 (en binario). Valor 10 1 0 0 0 1 0 1 0 Valor -10 0 1 1 1 0 1 1 0 La siguiente tabla muestra todos los valores posibles a representar en Exceso 8 para n =4 bits, (Exceso2 n-1 = Exceso2 3 ). 27

Dec. Exceso8 0 1 0 0 0 1 1 0 0 1 2 1 0 1 0 3 1 0 1 1 4 1 1 0 0 5 1 1 0 1 6 1 1 1 0 7 1 1 1 1-8 0 0 0 0-7 0 0 0 1-6 0 0 1 0-5 0 0 1 1-4 0 1 0 0-3 0 1 0 1-2 0 1 1 0-1 0 1 1 1 Esta representación es asimétrica y existe una única representación para el 0. Para determinar el rango de representación, recordemos que en n bits se pueden representar valores en el rango [0, 2 n -1], y que por definición Exceso2 n-1 (X) = 2 n-1 + X, por lo tanto el valor de X debe cumplir la siguiente condición: 0 <= 2 n-1 + X <= 2 n - 1 Restando 2 n-1 a los tres miembros resulta: 0-2 n-1 <= X <= 2 n - 1-2 n-1 O sea: - 2 n-1 <= X <= 2 n-1-1 (coincidente con el de C-2) Observación: el rango de esta representación coincide con el de Complemento a 2, difiriendo sólo en el valor del bit más significativo (bit de signo en C-2). Comparar ambas tablas para comprobarlo. Decimal codificado en binario En ciertas aplicaciones resulta de particular interés desarrollar los cálculos en decimal y no en binario. Para ello debe disponerse de una representación interna tal 28

que ciertos conjuntos sean entendidos como dígitos decimales y también de la posibilidad de operar aritméticamente con ellos. Una de las formas más comunes de representación de dígitos decimales es el código denominado BCD (Binary Coded Decimal) o sea Decimal Codificado en Binario). En este sistema de codificación se utiliza la representación binaria en 4 bits para cada dígito. Dec. BCD 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 Existen formas de representación en las cuales cada dígito ocupa un byte completo; las mismas se denominan formas desempaquetadas. En este trabajo nos limitaremos a explicar la representación BCD empaquetada, en la misma: Cada cifra decimal o digito ocupa 4 bits (cuarteto o nibble). El byte superior contiene el signo en sus últimos 4 bits (nibble de la derecha). Debe ocuparse un número completo de bytes, es decir no puede quedar un nibble vacío ni al principio ni al final; (es una representación de longitud variable). El signo positivo se representa indistintamente con los dígitos hexadecimales A, C E o F, y el signo negativo con B o D. EJEMPLO: Número 1984 Byte Byte Byte 0000 0001 1001 1000 0100 1100 0 1 9 8 4 signo La expresión en hexadecimal será 01 98 4C 29

Número -1984 Byte Byte Byte 0000 0001 1001 1000 0100 1101 0 1 9 8 4 signo La expresión en hexadecimal será 01 98 4D El rango de representación estará expresado en base 10, siendo esta una representación simétrica y con dos posibles ceros. Para k dígitos utilizados el rango de representación será ±(10 k -1) EJEMPLO: Para 5 dígitos decimales, el rango será ±(10 5-1) = ±99.999 Si n es el número de bytes destinados a esta representación, dispondremos de 2n nibbles, de los cuales 1 se destinará al signo. Por lo que resulta k = 2n-1. De donde con n bytes el rango es ±(10 2n-1-1) Representación de valores reales Los valores denominados reales son los que tienen parte fraccionaria, y se representan en lo que se denomina notación de punto flotante. La misma se basa en la consideración de que cualquier valor numérico X en una base b puede expresarse en la forma X = m. b e, donde m se denomina mantisa y e exponente. EJEMPLOS: 1. En base 10 el valor X = 3247,82 puede expresarse, entre otras muchas formas, como: X = 3247,82 x 10 0 X = 324,782 x 10 1 X = 32,4782 x 10 2 X = 0,324782 x 10 4 X = 324782 x 10-2 2. En base 2 el valor X = 1010,1010 puede expresarse indistintamente como: X = 1010.1010 x 2 0 X = 101010.10 x 2-2 X = 1.0101010 x 2 3 X = 0.10101010 x 2 4 30

Llamaremos mantisa normalizada a la mantisa que verifique las siguientes condiciones: Sea un número fraccionario puro, esto es que su parte entera sea cero El primer dígito a la derecha del punto fraccionario (coma decimal en base 10) sea distinto de cero En los ejemplos anteriores, son mantisas normalizadas 0.324782 y 0.10101010. De acuerdo al estándar de la organización internacional de ingeniería eléctrica y electrónica (IEEE), los valores fraccionarios se representan en punto flotante en forma normalizada en dos posibles formas: Precisión Simple, utilizando 32 bits: 23 bits para la mantisa (normalizada) 8 bits para el exponente (expresado en exceso 127) 1 bit para el signo de la mantisa 31 30 23 22 0 S Exponente Mantisa normalizada Precisión Doble, utilizando 64 bits: 52 bits para la mantisa (normalizada) 11 bits para el exponente (expresado en exceso 1023) 1 bit para el signo de la mantisa 63 62 52 51 0 S Exponente Mantisa normalizada Puede demostrarse que la cantidad de cifras decimales exactas garantizadas por la mantisa en precisión simple (23 bits), es 7. Observaciones: En notación de punto flotante no es posible representar el valor 0 en forma exacta (releer las condiciones que debe cumplir una mantisa normalizada para comprobarlo). Por convención se representa el 0 como 0.1 x 2 128. No todos los números que son exactos en decimal, son exactos en binario. Por lo tanto, en algunos casos la expresión de un número en punto flotante es una representación aproximada (con un cierto error) del valor a expresar. 31

Representación de valores alfanuméricos Los caracteres alfanuméricos pueden ser divididos en: Caracteres imprimibles: que al ser enviados a un periférico adecuado producen una imagen visible. Caracteres no imprimibles, los cuales se dividen en: - caracteres de control de impresión: al ser enviados a un periférico de salida no producen una imagen, pero sí una acción visible sobre el mismo. - caracteres de control de comunicaciones: participan como parte de los protocolos de comunicaciones y en el control de estos procesos. Existen actualmente dos códigos para la representación interna de caracteres alfanuméricos: - El código ASCII (American Standard Code for Information Interchange). - El código EBCDIC (Extended Binary Coded Decimal Interchange Code) El código ASCII Es un código binario ampliamente usado para la transmisión de información, para codificar los caracteres de un teclado, así como los que debe imprimir una impresora o mostrar una pantalla. Los caracteres imprimibles que figuran en el teclado son: 54 letras (27 mayúsculas y 27 minúsculas en nuestra lengua) 10 dígitos (0 al 9) Signos de puntuación y operación (por ejemplo,. ; - = + /). Caracteres especiales (por ejemplo % $ # { } [ ]). Además, existen teclas de control de impresión para órdenes mecánicas, como la barra espaciadora (SP por space), la tecla ENTER de retorno de carro a un nuevo renglón (CR por carry return), etc. Estas teclas sirven para organizar la impresión de caracteres en renglones de un papel o de una pantalla. También existen caracteres de control usados en teleprocesamiento, como ser ACK (Acknowledge - aviso de mensaje recibido), BEL (bell - aviso por señal sonora), ETX end of text fin de texto), STX start of text comienzo de texto), etc. El código ASCII estándar adjudica una combinación de 7 bits a cada caracter, disponiendo de 128 = 2 7 combinaciones posibles, aunque en la práctica se emplean 8 bits por carácter, usando el bit extra ( que siempre será 0) para distintos fines (por ejemplo control de errores). Los códigos ASCII ampliados o extendidos, utilizan los 8 bits para codificar una serie de caracteres gráficos especiales y vocales con acento. Son redefinibles, no normalizados 32

En el código ASCII, las letras minúsculas y las letras mayúsculas están codificadas en dos sucesiones ordenadas de números binarios, lo que permite realizar ordenamientos alfabéticos. EJEMPLO: A = 01000001 = 41 H = 65 D B = 01000010 = 42 H = 66 D C = 01000011 = 43 H = 67 D A la izquierda de cada carácter figura su representación en 8 bits en código ASCII y su expresión en hexadecimal y decimal. Z = 01011010 = 39 H = 90 D La siguiente tabla muestra el código ASCII normalizado; en la misma cada carácter tiene dos coordenadas que escritas en forma consecutiva conforman el equivalente hexadecimal del código binario. Por ejemplo el código ASCII del carácter A estará dado por las coordenadas 4 (horizontal) y 1 (vertical), que como ya vimos forman 41 H = 0100 0001. 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 NUL SC STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1 DLE DC1 DC2 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2 SP! # $ % & ( ) * +, -. / 3 0 1 2 3 4 5 6 7 8 9 : ; < = >? 4 @ A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ * ^ _ 6 ` a b c d e f g h i j k l m n o 7 p q r s t u v w x y z { } ~ DEL 33

Bibliografía Albarracín-Lancharro- García López, Introducción a la Informática.. Ed. Mac Graw-Hill. Ginzburg, M. C. La PC por dentro, Biblioteca Técnica Superior Prieto, A., Lloris, A. y Torres, J. C. Introducción a la Informática. Ed. Mac Graw-Hill. 34