Arquitecturas de Computadoras Aritmética Computacional

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
Introducción al lenguaje C
PROGRAMACIÓN EN C.
Aritmética del Computador Introducción a la Tecnología de la Información.
Representación de la Información dentro del Computador
LISTA DE LOS TIPOS DE DATOS BASICOS EN C
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Objetos de un programa Datos: Se denomina dato a toda aquella información característica de una entidad y que es susceptible de tratamiento en un programa.
Roberto Mercado Holguin
Ingeniero Anyelo Quintero
Conceptos Básicos de Java
Representación de números enteros Tema 3. ¿Qué sabrás al final del capítulo? n Representar un número entero (con signo) de distintas formas – Signo magnitud.
Tipos de Datos Básicos 1.
Curso Circuitos Digitales I Sesión 2
LENGUAJE “C” Programación.
Representación de Números en un Registro Binario
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Sistemas de Numeración
JAVA J.A.C..
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Unidad III Elementos del lenguaje C++
Numeric Types, Expressions, and Output
Tema 2: Los tipos de datos
Organización del Computador 1
Índice. Revisando conceptos acerca de la memoria.
SISTEMAS DE NUMERACIÓN
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Sintaxis de C# (Declaraciones y Tipos)
Sistemas decimal, binario, octal y hexadecimal
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Tipo de Datos Básicos.
© AutoresV1.1 Informática Ingeniería en Electrónica y Automática Industrial Datos en lenguaje C.
Organización del Computador 1 Sistemas de Representación.
Unidad 4: Unidad de Ejecución
Arquitecturas de Computadoras Aritmética Computacional
Aritmética PARA COMPUTADORAS
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 13/05/2006.
Fundamentos de Programación Tipos de Datos en Java
Con números se puede demostrar cualquier cosa.
Aritmética del Procesador
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
TÉCNICAS DE PROGRAMACIÓN Lenguaje C - 2
Sistemas de numeración
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
Organización del Computador I Verano 2007
FUNDAMENTOS DE PROGRAMACIÓN
Estructura de un programa C
 Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad.
PRINCIPIOS DE PROGRAMACIÓN

Presente un cuestionario con los aspectos mas importantes sobre los
SISTEMAS NUMÉRICOS Oscar Ignacio Botero H..
OPERACIONES BINARIAS BÁSICAS
Representación de datos
Fundamentos de Programación
Lenguaje de programación c
Tipos de datos básicos en Java
Conversiones Sistemas decimal - binario - octal - hexadecimal
Informática Ingeniería en Electrónica y Automática Industrial
Organización del Computador 1
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
1 Arquitecturas de Computadoras Breve repaso al algebra booleana.
FUNDAMENTOS DE PROGRAMACIÓN VARIABLES, CONSTANTES Y TIPOS DE DATOS EN C.
Arquitecturas de Computadoras Capitulo 2 Aritmética de Punto Flotante.
Programación I :: Prof. Yeniffer Peña Conceptos Avanzados de Programación Presentación.
Transcripción de la presentación:

Arquitecturas de Computadoras Aritmética Computacional Capitulo 2 Aritmética Computacional La presentación tiene como finalidad explicarles cual es el nicho de oportunidad y por que es importante trabajar en el

Números Decimales (base 10) Recordatorio del Capitulo 1: Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Ejemplo: 3271 = (3x103) + (2x102) + (7x101) + (1x100) Ley de moore Nótese la posición del exponente !!!!

Números Binarios (base 2) Recordatorio del Capitulo 1: Dígitos: 0, 1 Ejemplo: 1011 = (1x23) + (0x22) + (1x21) + (1x20) 8 + 0 + 2 + 1 = 1110 Ley de moore

Codificación numérica Enteros Notación: W: número de bits en una “palabra” Tipo de datos en C Dato de 32 bits (Pentium 4) Dato de 64 bits (Alpha) Long int 32 64 Int Short 16 Char 8 Ley de moore Enteros: se expresaran en minúsculas (x, y, z) Vectores de bits: se expresaran con mayúsculas (A, B, C) A=AW-1, AW-2, AW-2, … AW0

Codificación numérica Enteros Sin Signo: Complemento a 2: B2U(10101010)=1x27+0x26+1x25+0x24+1x23+0x22+1x21+0X20= AA16= 17010 B2T(10101010)=-1x27+0x26+1x25+0x24+1x23+0x22+1x21+0X20= AA16=-8610 Ley de moore Bit de Signo: Para complemento a dos (2’s), el bit mas significativo indica el signo 0: Positivo 1: Negativo

Codificación numérica Enteros en C short int x: 2010 ; short int y: -2010 ; Variable Decimal Hexadecimal Binario x 2010 07DA 0000011111011010 y -2010 F826 1111100000100110 Ley de moore

Codificación numérica Enteros Posición Peso 2010 Sumatoria -2010 20=1 1 21=2 2 22=4 4 3 23=8 8 24=16 16 5 25=32 32 6 26=64 64 7 27=128 128 28=256 256 9 29=512 512 10 210=1024 1024 11 211=2048 2048 12 212=4096 4096 13 213=8192 8192 14 214=16384 16384 15 215=32768 -32768 Ley de moore

Rangos Numéricos W=5 00000 11111 00001 11110 -1 1 11101 -2 2 -3 11100 -4 . . -15 15 -16 10001 01111 10000

Valores sin signo: Umin = 0 000…0 Umax = 2W-1 111…1 Rangos Numéricos Valores sin signo: Umin = 0 000…0 Umax = 2W-1 111…1 Valores complemento a 2: Tmin = -2W-1 100…0 Tmax = 2W-1-1 0111…1 W=16 Decimal Hexadecimal Binario UMAX 65535 FF FF 1111 1111 1111 1111 TMAX 32767 7F FF 0111 1111 1111 1111 TMIN -32768 80 00 1000 0000 0000 0000 -1 00 00 0000 0000 0000 0000

Observaciones: |Tmin| = Tmax+1 Rango asimétrico Umax= 2*Tmax+1 Valores Tamaños de Palabra W 8 16 32 64 UMAX 255 65,535 4,294, 967, 295 18, 446, 744, 073,709, 551,615 TMAX 127 32,767 2,147, 483, 647 9, 223,372, 036, 854, 775, 807 TMIN -128 -32,768 -2,147, 483, 648 9, 223,372, 036, 854, 775, 808 Observaciones: |Tmin| = Tmax+1 Rango asimétrico Umax= 2*Tmax+1 Programación en C: #include <limits.h> declaración de constantes ULONG_MAX LONG_MAX LONG_MIN Valores específicos para la plataforma

1 PASO. Inversión: Se realiza bit a bit Complemento a 2 1 PASO. Inversión: Se realiza bit a bit 1510 = 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1b 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0b 2 PASO. Sumar 1b -1510 = 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1b Este método esta basado en que la suma de un numero y su representación invertida da como resultado 111…111. Lo que representa al -1. Si X+~X =-1 luego X+~X +1 = 0 entonces se puede expresar ~X +1 = -X

Negación de un número (+) 510 = 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1b 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0b + 1b -510 = 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1b Un número negativo (complemento a 2) tiene un número infinito de 1’s a la izquierda

Negación de un número (-) -510 = 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1b 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0b + 1b 510 = 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1b Un número positivo (complemento a 2) tiene un número infinito de 0’s a la izquierda

Extensión de una palabra c/signo Dado un número entero con signo x de tamaño de palabra w bits , realizar su conversión a un número entero con w+k bits con el mismo valor. Regla: Hacer k copias del bit de signo x’= (xw-1, …xw-1),xw-1, xw-2, …x0

Representación Hexadecimal El Tamaño de datos de muchas computadoras son múltiplos de 4, (8, 16, 32, 64) Base 16 es múltiplo de 2. Cada digito binario puede ser remplazado por un digito hexadecimal . Hex Bin 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

Binario a Hexadecimal 1110 1100 1010 1000 0110 0100 0010 0000 E C A 8 6 4 2

Datos con Signo y sin Signo en C Constantes: Por defecto se consideran enteros con signo si tiene U como sufijo, son considerados sin signo 0U, 454321U Casting (conversión de tipo de datos): Conversión explicita entre datos con signo y sin signo similar a U2T y T2U int tx, ty; unsigned ux, uy; tx = (int) ux; uy = (unsigned) ty;

Conversión de tipo de Datos (Casting ) Implícitas: expresiones cuyos operando mezclan variables y constantes de tipos diferentes. int x; float y; float z; z = x+y; El operador + convierte x a float (por compilación) Explicitas: long y = (long)x;

Reglas de promoción automática Todos los char y short se convierten a int. todos los unsigned char y unsigned short se convierten a unsigned. Si la expresión es de tipo mixto, el operando de menor rango se promueve al tipo de operando de mayor rango y se convierte toda la expresión a ese tipo. int < unsigned < long < unsignedlong < float < doble A este proceso se le conoce como promoción

Por que la promoción? Unidades funcionales de enteros, solo realizan operaciones (+,*, /, &, |, !, >>, << ) sobre números enteros.

Razón de la promoción Las operaciones de punto flotante son calculadas por unidades de P. F., ¡sus entradas deben contener el mismo tipo de datos!.