La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Algoritmos y Desarrollo de Programas I

Presentaciones similares


Presentación del tema: "Algoritmos y Desarrollo de Programas I"— Transcripción de la presentación:

1 Algoritmos y Desarrollo de Programas I
Representación de Datos en Memoria

2 Números binarios Todos los datos e instrucciones se representan internamente en la memoria de la computadora usando números binarios. Las computadoras usan números binarios porque es más fácil crear dispositivos electrónicos de dos estados de voltaje (binarios) que de 10 estados (dispositivos decimales).

3 Números binarios (cont.)
Los humanos usamos el sistema decimal para representar los números. 147 = (1 × 102) + (4 × 101) + (7 × 100) = La computadora usa el sistema binario. = (1 × 27) + (1 × 24) + (1 × 21) + (1 × 20) = = 14710

4 Bites y bytes Cada sección de memoria posee una dirección y almacena un byte. Un byte es un grupo de 8 bits. Un bit es un dígito binario (0 ó 1). En un byte puede haber una porción de un dato o de una instrucción. No es raro que una computadora moderna tenga varios gigabytes (billones de bytes) de RAM.

5 Bites y bytes (cont.) Direcciones de memoria
Cada sección de memoria almacena un byte. 2000 2001 2003 2002 2004 2005 2006 2007 Un byte es un grupo de 8 bits. A una sección de 2 bytes se le llama un word.

6 Representación de datos en la memoria: los números (cont.)
Para transformar de binario a decimal y viceversa conviene recordar que: 20 = = 16 21 = = 32 22 = = 64 23 = = 128

7 Representación de datos en la memoria: los números (cont.)
Para determinar la representación binaria de un número entero en sistema decimal se puede crear una tabla de las potencias de 2 y determinar con cuál suma de potencias se obtiene el número deseado. Por ejemplo, 14710 = ?2

8 Representación de datos en la memoria: los números (cont.)
Un algoritmo que podemos utilizar para determinar la representación binaria de un número entero en sistema decimal es dividir el número entre 2 y seguir dividiendo el cociente obtenido hasta que sea 0. Luego, se recogen los residuos en orden inverso.

9 Representación de datos en la memoria: los números (cont.)
Por ejemplo, = ?2 147 / 2 = 73 R 1 73 / 2 = 36 R 1 36 / 2 = 18 R 0 18 / 2 = 9 R 0 9 / 2 = 4 R 1 4 / 2 = 2 R 0 2 / 2 = 1 R 0 1 / 2 = 0 R 1 Por lo tanto, =

10 Representación de datos en la memoria: los números (cont.)
Los números con los que hemos trabajados son enteros no negativos. Para representar números negativos y números con punto decimal se usan métodos que sólo almacenen bits en la memoria. Estos métodos se verán en otro curso.

11 Representación de datos en la memoria: los números (cont.)
El número más grande que se puede representar en 1 byte es 255 (= 28 – 1). Para representar números mayores hace falta usar varios bytes. Los científicos de computadoras utilizan el sistema hexadecimal para abreviar representaciones binarias.

12 Representación de datos en la memoria: los números (cont.)
El sistema hexadecimal define 16 dígitos diferentes que van del 0 al 9 y de la A a la F. Para transformar un número binario a hexadecimal sólo es necesario: Agrupar los bits en porciones de 4 bits. Sustituir cada porción de 4 bits por su equivalente hexadecimal.

13 Representación de datos en la memoria: los números (cont.)
Decimal Hex. Binario 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 La siguiente tabla compara los sistemas decimal, hexadecimal y binario:

14 Representación de datos en la memoria: los números (cont.)
Por ejemplo: = 8B16 = D316 = 5716 En el último ejemplo es importante destacar que el 57 es un número hexadecimal que corresponde al 87 decimal.

15 Representación de datos en la memoria: los caracteres
Además de números, la computadora almacena caracteres. Un caracter es una letra, símbolo o dígitos que no se usa en un cómputo matemático. A cada caracter se le asigna un número binario equivalente de acuerdo a un código.

16 Representación de datos en la memoria: los caracteres (cont.)
Los códigos más utilizados son: ASCII – cada caracter corresponde a un número binario de 8 bits. Unicode – cada caracter corresponde a un número binario de 16 bits. Muchos programas utilizan ASCII pero los programas hechos en lenguajes modernos, como Java, utilizan Unicode.

17 Representación de datos en la memoria: los caracteres (cont.)
En el código ASCII se utilizan los números de 0 a 255 para representar los caracteres. Por ejemplo, al caracter ‘A’ se le asigna el número 65, al caracter ‘B’ se le asigna el número 66 y así sucesivamente. Esto quiere decir que cuando se coloca el caracter ‘A’ en la memoria, lo que se almacena es la representación binaria del número 65.

18 Representación de datos en la memoria: los caracteres (cont.)
Es importante destacar que una letra puede tener varios caracteres asociados. A continuación se muestran varios caracteres con sus códigos ASCII: A = 6510 a = 9710 á = 16010 B = 6610 b = 9810 é = 13010 C = 6710 c = í = 16110

19 Representación de datos en la memoria: los caracteres (cont.)
Para transformar una cadena de caracteres a binario hace falta una tabla de código ASCII (puede buscarla en Internet). Por ejemplo, la representación binaria de la cadena de caracteres “Auto” requiere 4 bytes y es la siguiente

20 Representación de datos en la memoria: imágenes, sonido, vídeo
Las imágenes, el sonido y el vídeo también se representan usando números binarios pero los métodos se verán en otro curso.


Descargar ppt "Algoritmos y Desarrollo de Programas I"

Presentaciones similares


Anuncios Google