Instituto Tecnológico de Morelia

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

Apuntes de Microcontroladores (Repaso de temas previos)

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

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

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN


Datos y tipos de datos

Computación I Representación Interna Curso 2011

Estructura de Computadores

5.2. Sistemas de codificación en binario

Datos y tipos de datos

TEMA 1 Representación de la información

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

Organización de Computadoras. Clase 2

Organización del Computador. Prof. Angela Di Serio

Representación de la Información

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

TEMA III: OPERACIONES CON LOS DATOS

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

Principios de Computadoras II

Clase 02: Representación de datos

Sebastián García Galán

Organización de Computadoras Apunte 2: Sistemas de Numeración: Punto Flotante

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.

Sistemas de Numeración Operaciones - Códigos

ELO311 Estructuras de Computadores Digitales. Números

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

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

Representación en Punto Flotante

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

Estructura de Datos. Unidad I Tipos de Datos

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

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

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

Representación de Datos. Representación de datos numéricos. Representación de datos caracteres. Representación de otros tipos de datos

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

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

Aritmética de Enteros

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

Lección 2 Introducción al lenguaje C

❷ Aritmética Binaria Entera

Solución: exp Febrero, primera semana. Paso 1º: Cálculo del campo exponente. Según el apartado a) del primer corolario: 53.

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

Fundamentos de la programación

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

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

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

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

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

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

Universidad Rey Juan Carlos HOJA DE PROBLEMAS TEMA 3: REPRESENTACIÓN DE LA INFORMACIÓN

Sistemas de numeración, operaciones y códigos

Expresiones y sentencias

Computación I Representación Interna Curso 2011

4. Operadores Operador asignación

Introducción a la Informática

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

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

1.1 Sistema de numeración binario

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

a octal A B C D E F

Representación de la información

SISTEMAS DE NUMERACIÓN

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

Aritmética del computador. Departamento de Arquitectura de Computadores

Tema 2: Los tipos de datos

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

Introducción a la Informática

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

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería Química Curso 2010/2011

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.

I.- Sistemas numéricos en computadores

TEMA 2 REPRESENTACIÓN BINARIA

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Materia Introducción a la Informática

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

Aritmética finita y análisis de error

UT01 03 Sistemas de codificación

Ejercicios Representación de la información

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA (2008)


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

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo Universidad Carlos III de Madrid

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS DIGITALES.

Curso de Programación Avanzada en C

Sistema binario. Representación

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

Tema 3. Aritmética y representación de la información en el ordenador. Informática Grado en Física Universitat de València

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

TEMA II: SISTEMAS DE NUMERACIÓN

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

OPERADORES Y EXPRESIONES

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Métodos Numéricos: los números reales y su representación

PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C

1 LA INFORMACION Y SU REPRESENTACION

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Tema 4. Operadores y Expresiones

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

Transcripción:

Instituto Tecnológico de Morelia Microcontroladores Representación de datos en las computadoras M.C.Miguelangel Fraga Aguilar http://sagitario.itmorelia.edu.mx/mfraga mfraga@itmorelia.edu.mx

Representaciones numéricas Representación de números sin signo Binario natural Hexadecimal Representación de números con signo Complemento a dos Aritmética Operaciones booleanas y bit a bit (bitwise)

Números sin signo La representación de números enteros en sistema binario consiste en usar una cadena de n dígitos binarios donde la posición de cada dígito indica su n peso. i V = d i 2 ; i= d i {,} i 4 3 2 Peso 6 8 4 2 Bit n Rango representable: 2 -

Números sin signo como vectores 8 2 8 4 2 d3 d2 d d

Número finito de dígitos Circulo numérico Acareo Préstamo 5 4 2 3 Incremento 2 3 9 8 7 6 4 5 Incremento

Ejemplos de conversiones b *27+*23+*22 =28+8+4=4 5 4 2 b *2 +*2 +*2 +*2 = 32+6+4+=53 25 d binario 25/2=2: Bit menos significativo 2/2=6: 6/2=3: 3/2=: /2=: Bit más significativo

Ejemplos de conversiones 2 732 o 7*82+3*8+2*8 =7*64+3*8+2=474 2 CAB h 2*6 +*6 +*6 = 2*256+*6+=3243 95 d octal 95/8=:7 37 Dígito menos significativo /8=:3 /8=: Dígito más significativo

Notación Hexadecimal Binario Hexadecimal 2 3 4 5 6 7 n i V = d i 6 ; i= Binario d i { F } Hexadecimal 8 9 A B C D E F

Ejemplos de notación hexadecimal b AC h b 56h 26d 26/6=7:4 7E h 7/6=:7 BEBAh b BEBAh *63+4*62+*6+*6= *496+4*256+*6+*=48826

Números con signo en Complemento a dos Se asigna la mitad de las combinaciones numéricas a los números negativos Todos los números positivos tienen el bit más significativo en Todos los números negativos tienen el bit más significativo en Se usa una combinación de las positivas para almacenar al cero, por lo que el intervalo que se puede representar no es simétrico

Números con signo como vectores El bit más significativo se le da un peso negativo de 2n-, donde n es el numero de bits. 4 2-8 d3 d2 d d +2-8 -6

Recta numérica

Complemento a dos Se aprovecha el hecho de que al usar aritmética de tamaño fijo, cualquier acarreo se descarta. Por ejemplo: si se trabaja con cuatro bits y se suma Fh+=h, ya que el acarreo del ultimo bit se descarta. Ya que al sumarle al Fh se obtuvo el, este corresponde con el - en la notación de complemento a dos.

Complemento a dos Para saber que número negativo corresponde a uno positivo, se resta este al cero con acarreo descartado. Por ejemplo, en cuatro bits, para saber a que número corresponde al -3, se calcula el resultado de h3h=dh Esta resta es la definición de la operación de complemento dos, y en general, se puede definir para n bits como: n C2 (V ) 2 V Donde C es el complemento a dos de V a n bits

Complemento a dos También se puede calcular negando todos los bits y sumándole, o por inspección copiando los bits hasta el primer uno de derecha a izquierda, y el negado de los restantes bits. Existe una sola representación para el cero y existe un número negativo más que los positivos Se resuelven los problemas del complemento a uno (+3) + (+2) (+5) (-3) + (-2) (-5) (-5) + (+3) (-2) (+7) + (-5) (+2)

Circulo Numérico Complemento a dos + - Números negativos -2 + +2-3 +3 Incremento -4-5 +4 Incremento +5-6 -7-8 +7 Sobreflujo +6 Números positivos

Representación de números con signo Represente el 4567 decimal en 6 bits con signo: Como es positivo, solo hay que convertirlo a binario: D7h Represente el -892 decimal en 6 bits con signo: El equivalente en binario es 22Dh Es negativo, hay que obtener el complemento a dos: h-22dh=dd3h

Representación de números con signo (2) A que número decimal equivale el 5D6Bh como número con signo de 6 bits? El bit de signo es cero, por lo que es positivo y equivale al 2395 decimal A que número decimal equivale el 9C6Bh como número con signo de 6 bits? El bit de signo de uno, por lo que es negativo. Su complemento a dos es h9c6bh=6395h Convirtiendo a decimal 9C6Bh es -25493 dec.

Suma entera datos de 4 bits, resultado en 5 bits

Suma entera datos de 4 bits, resultado en 4 bits Acarreo

Suma entera con signo, datos de 4 bits, resultado en 4 bits Sobreflujo negativo Sobreflujo positivo

Sobreflujo + (+3) (-6) + (-4) (-5) (+7) El sobre flujo se detecta como la OR exclusiva de los acarreos de los dos bits más significativos

Resta como suma del complemento a dos La suma de números con signo es idéntica a la de números binarios sin signo. La mayoría de las computadoras implementan la resta como la suma del minuendo con el complemento a dos del sustraendo resultado =minuendo +not(sustraendo)+ El acarreo es el negado del préstamo de la resta

Calcular b - b Complemento a dos de es + acarreo Resta binaria préstamo

Ejercicios Determine el Estado de las banderas de Cero, acarreo, sobreflujo y signo (negativo) a) 67E2h + 3F5Ah b) FA4Eh + 45ABh c) 8A3Ch + B3Ch Represente los siguientes números en la notación de complemento a dos de 8 bits: a) +76, b)-28 c) -, d) - A que número equivale el F325h en como número con signo y sin signo de 6 bits

Rangos de datos garantizados por el estándar C99

Rangos de datos en C en una maquina de 32 bits

Rangos de datos en C en una maquina de 64 bits

Conversión (cast) entre sin signo y con signo Los bits se mantienen idénticos, solo cambia la forma en que se interpretan short int v=-2345;//cfc7h unsigned short int uv=(unsigned short)v; printf( v=%hd,uv=%hu\n,v,uv); Resultado: v = -2345, uv = 539

Cambio de tamaño (Extensión y truncamiento) Truncamiento: Solo se conservan los bits menos significativos. Ejemplo: 234h 34h Extensión sin signo: se añaden ceros. Ejemplo: 34h ->34h Extensión con signo: se repite el bit de signo. Ejemplo : 34h 34h Ejemplo 2: 8h FF8h

Datos multibyte La mayoría de las maquinas tienen localidades de memoria de 8 bits Para almacenar datos de más de 8 bits se debe usar más de una localidad de memoria Big-Endian: Se almacena el Byte más significativo en la dirección más baja Little-Endian: Se almacena el Byte menos significativo en la dirección más baja

Ejemplo de datos multibyte 2345678h Big Endian Little Endian Dirección Dirección 2h h 78h h 34h h 56h h 56h 2h 34h 2h 78h 3h 2h 3h

Representación de cadenas de caracteres Se usa un código para representar cada carácter ASCII 968, 7bits ISO-8859-, Windows-252, Mac OS Roman Unicode: UTF-8, UTF-6 y UTF32 Se coloca un carácter en seguida del otro en direcciones de memoria contiguas Ejemplo: HOLA 48h 4Fh 4Ch 4h

Operaciones bit a bit en C And bit a bit & Or bit a bit A B A&b A B A b Propiedades Propiedades A&= A =A A&=A A =

Operaciones bit a bit en C (2) XOR bit a bit ^ Not bit a bit ~ A B A^b A ~A Propiedades A^=A A^= not A

Poner un bit en Se utilizan las propiedades de la operación A =A A = Se usa una mascara con en los bits que quieren modificarse y en los que no deben modificarse Ejemplo: poner bit 2 en var =b ; //Constante en binario var =x4; //Constante en hexadecimal

Poner un bit en Se utilizan las propiedades de la operación & A&= A&=A Se usa una mascara con en los bits que quieren modificarse y en los que no deben modificarse Ejemplo: poner bit 2 en var&=b ; var&=~b ; var&=xfb; var&=~x4;

Negar un bit Se utilizan las propiedades de la operación ^ A^=A A^=not A Se usa una mascara con en los bits que quieren modificarse y en los que no deben modificarse Ejemplo: negar el bit 2 var^=b ; //Constante en binario var^=x4; //Constante en hexadecimal

Teoremas de DeMorgan A +B= A B A B= A + B A B A +B A B A B A + B A B

Teoremas de DeMorgan (2) A +B= A B A B= A + B

Teoremas de DeMorgan (3)

Operaciones de corrimiento Corrimiento a la izquierda: los bits se recorren una posición hacia el bit más significativo, el bit más significativo sale de la variable y entra un cero al bit menos significativo El segundo operando es el número de veces que se repite el corrimiento Ejemplo: unsigned char a=b ; a=a<<; //a==b ;

Corrimiento lógico (sin signo) a la derecha Los bits se recorren una posición hacia el bit menos significativo, el bit menos significativo sale de la variable y entra un cero al bit más significativo El segundo operando es el número de veces que se repite el corrimiento Ejemplo: unsigned char a=b ; a=a>>; //a==b ;

Corrimiento aritmético (con signo) a la derecha Los bits se recorren una posición hacia el bit menos significativo, el bit menos significativo sale de la variable y el bit más significativo se conserva El segundo operando es el número de veces que se repite el corrimiento Ejemplo: char a=b ; a=a>>; //a==b ;

Números binario fraccionarios Bits a la derecha del punto binario tienen un peso que es una potencia negativa de 2

Formato de punto flotante IEEE 754-985 Un numero V se representa por los campos s, M y E, de forma que V=(-)sxMx2E. s determina el signo: s= para un número negativo, s= para uno positivo M es la mantisa, una numero fraccionario con rango entre. y 2.-ε o entre. y.-ε E es el exponente al que se eleva la base

Formatos IEEE comunes Precisión sencilla (float) 3 3 s 23 22 exp Frac Precisión doble (double) 63 62 s 52 5 32 exp Frac (5:32) 3 Frac (3:)

Categorías de valores de punto flotante en precisión sencilla s s s s Normalizado y 255 f Denormalizado f Infinito NaN

Valores normalizados El exponente se obtiene como E=exp-sesgo, donde sesgo es 2k-- (27 para single y 23 para double) La mantisa se considera normalizada, es decir, con solo un uno a la izquierda del punto binario. Este uno queda implícito, no se incluye en el campo f.. < M < 2.

Valores denormalizados La mantisa M se encuentra desnormalizada, sin el uno implícito. <M< El exponente es E=-sesgo, no -sesgo para compensar por el uno implícito El +. es representado por todos los bits en cero. Existe un -.. Ambos son casos especiales de valores denormalizados Los valores normalizados permiten representar números igualmente espaciados cercanos a cero (subflujo gradual)