1 / 22

Arquitecturas de Computadoras Curso Propedéutico Capitulo 2 Aritmética Computacional

INSTITUTO POLITÉCNICO NACIONAL CENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Grupo de Arquitectura de Computadoras y Sistemas Embebidos. Arquitecturas de Computadoras Curso Propedéutico Capitulo 2 Aritmética Computacional.

Download Presentation

Arquitecturas de Computadoras Curso Propedéutico Capitulo 2 Aritmética Computacional

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INSTITUTO POLITÉCNICO NACIONALCENTRO DE INVESTIGACION EN COMPUTACION LABORATORIO DE MICROTECNOLOGÍA Y SISTEMAS EMBEBIDOS Grupo de Arquitectura de Computadoras y Sistemas Embebidos Arquitecturas de Computadoras Curso Propedéutico Capitulo 2 Aritmética Computacional Marco Antonio Ramírez Salinas Herón Molina Lozano

  2. 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)

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

  4. Codificación numérica de enteros • Notación: • W: número de bits en una “palabra” • 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

  5. Codificación de 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 • Bit de Signo: • Para complemento a dos (2’s), el bit mas significativo indica el signo • 0: Positivo • 1: Negativo

  6. Ejemplo de Codificación de enteros

  7. Codificación de Enteros en C • Capitulo 2 • Short int x: 2010 ; • Short int y: -2010 ;

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

  9. Rangos Numéricos Valores complemento a 2: • Tmin = -2W-1 100…0 • Tmax = 2W-1-1 0111…1 Valores sin signo: Umin = 0 000…0 Umax = 2W-1 111…1

  10. Valores para diferentes tamaños de Palabra 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

  11. 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

  12. 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

  13. 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

  14. Extensión de una palabra c/signo • Capitulo 2 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

  15. 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 remplazar por un digito hexadecimal .

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

  17. 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;

  18. 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: int x; long y = (long)x;

  19. 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

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

  21. 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!.

More Related