Tema 10. Dinámica y funciones de la Atmosfera 2024
Curso de arquitectura de computadores 2010
1. Curso de Arquitectura de Computadores.
2. SEGUNDA PARTE: Representación de Datos.
En este capítulo se estudiará la forma de representar los datos en una computadora. Pero antes,
es necesario conocer y manejar los diferentes sistemas numéricos y cómo operar con ellos.
2.1. Sistemas Numéricos.
Cualquier valor que represente una cantidad puede escribirse en binario o en cualquier otro
sistema numérico y viceversa, porque el concepto de cantidad es independiente de su
representación. A continuación se explica los métodos que permiten transformar un número
cualquiera en cualquier base a otra base numérica.
2.1.1. De Base 10 a Base n
Se siguen 2 métodos distintos: uno para la parte entera y otro para la parte fraccionaria.
1. Parte Entera:
El método consiste en divisiones enteras sucesivas hasta que el resultado de la división sea
igual a cero. Cada división arroja un resultado y un residuo, el resultado de la división pasa a
ser la nueva cifra a ser dividida y el residuo pasa a ser un dígito más del número
transformado. Al resultado final se le deben invertir los dígitos.
Parte Entera
División Resultado Residuo
Entero
783 : 2 = 391 1
391 : 2 = 195 1
195 : 2 = 97 1
97 : 2 = 48 1
48 : 2 = 24 0
24 : 2 = 12 0
12 : 2 = 6 0
6:2 = 3 0
3:2 = 1 1
1:2 = 0 1
Solución : 1100001111 2
edit by ~KaKo~ Óscar Carrasco Vera.
2. Curso de Arquitectura de Computadores.
2. Parte Fraccionaria:
El método consiste en multiplicaciones sucesivas de las partes fraccionarias resultantes,
comenzando por la parte fraccionaria del número original. El proceso se repite hasta la
cantidad de dígitos fraccionarios se desee obtener.
1. La parte fraccionaria se expresa como 0,… (ejemplo: 783,83 => 0,83)
2. Se multiplica por la base a la cual se va a cambiar.
3. Del resultado anterior, se separa la parte entera (dígito fraccionario resultante) de la
fraccionaria, ésta se expresa como 0,… para la siguiente multiplicación.
4. Volver al punto 2 tantas veces como dígitos fraccionarios se desee obtener.
Parte Fraccionaria
Multiplicación Resultado Parte Entera
0,83 x 2 = 1,66 1
0,66 x 2 = 1,32 1
0,32 x 2 = 0,64 0
0,64 x 2 = 1,28 1
Solución : 0,1101 2
El resultado final se suma: 11000011112 + 0,11012 = 1100001111,1101 2
Los siguientes ejemplos muestran cómo se traspasa el número 783,83 en base 10 a base 8 y 16,
respectivamente.
Ejemplo 1: 783,8310 a X8
Parte Entera Parte Fraccionaria
División Resultado Residuo Multiplicación Resultado Parte
Entero Entera
783 : 8 = 97 7 0,83 x 8 = 6,64 6
97 : 8 = 12 1 0,64 x 8 = 5,12 5
12 : 8 = 1 4 0,12 x 8 = 0,96 0
1:8 = 0 1 0,96 x 8 = 7,68 7
Solución : 1417,6507 8
Ejemplo 2: 783,8310 a X16
Parte Entera Parte Fraccionaria
División Resultado Residuo Multiplicación Resultado Parte
Entero Entera
783 : 16 = 48 15 (F) 0,83 x 16 = 13,28 13 (D)
48 : 16 = 3 0 0,28 x 16 = 4,48 4
3 : 16 = 0 3 0,48 x 16 = 7,68 7
0,68 x 16 = 10,88 10 (A)
Solución : 30F,D47A 16
Óscar Carrasco Vera.
3. Curso de Arquitectura de Computadores.
2.1.2. De Base n a Base 10
El método consiste en sumar la multiplicación de cada dígito por la base de origen elevado a la
posición del dígito del número a trasformar.
a) Parte Entera: Cada dígito se multiplica por la base en que se encuentra el número (n)
elevada a la posición del dígito (partiendo de cero) desde la derecha al lado de la coma.
Cada resultado es acumulado formando la parte entera de la nueva representación.
b) Parte Fraccionaria: Cada dígito se multiplica por la base en que se encuentra el número
(n) elevada a la posición del dígito (partiendo de -1) desde la izquierda al lado de la coma.
Cada resultado es acumulado formando la parte fraccionaria de la nueva representación.
El resultado queda expresado como 0,…
El resultado final será la suma de los dos resultados parciales. A continuación se muestra un
esquema del proceso:
D D D D D , D D D D
… n3 n2 n1 n0 n-1 n-2 n-3 … n
D * n-3 = X
D * n-2 = X
D * n-1 = X
+ Suma2
D * n0 = X
D * n1 = X
D * n2 = X
D * n3 = X
+ Suma1
Resultado = Suma1 + Suma2
Óscar Carrasco Vera.
4. Curso de Arquitectura de Computadores.
EJEMPLO 1: 1100001111,1101 2 a X10
a) Parte Entera: 11000011112 a X10
1 1 0 0 0 0 1 1 1 1
2
1 X 20 = 1
1 X 21 = 2
1 X 22 = 4
1 X 23 = 8
0 X 24 = 0
0 X 25 = 0
0 X 26 = 0
0 X 27 = 0
1 X 28 = 256
1 x 29 = 512
Solución : + 78310
b) Parte Fraccionaria: 11012 a X10
1 1 0 1
2
1 X 2-4 = 0,0625 1/16
0 X 2-3 = 0 1/8
1 X 2-2 = 0,25 1/4
1 X 2-1 = 0,5 ½
Solución: + 0,812510
Solución Aproximada: 0,8310
c) Solución Final: 1100001111,11012 = 783,8310
Óscar Carrasco Vera.
5. Curso de Arquitectura de Computadores.
EJEMPLO 2: 1417,70568 a X 10
a) Parte Entera: 14178 a X10
1 4 1 7
8
7 X 80 = 7
1 X 81 = 8
4 X 82 = 256
1 X 83 = 512
Solución : + 78310
b) Parte Fraccionaria: 65078 a X10
6 5 0 7
8
7 X 8-4 = 0,001708984375 1/4096
0 X 8-3 = 0 1/512
5 X 8-2 = 0,078125 1/64
6 X 8-1 = 0,75 1/8
Solución : + 0,82983398437510
Solución Aproximada: 0,8310
c) Solución Final: 1417,70568 = 783,8310
Óscar Carrasco Vera.
6. Curso de Arquitectura de Computadores.
EJEMPLO 3: 30F,D47A16 a X10
a) Parte Entera: 30F16 a X 10
3 0 F
16
15 X 160 = 15
0 X 161 = 0
3 X 162 = 768
Solución : + 78310
b) Parte Fraccionaria: D47A 16 a X10
D 4 7 A
16
10 X 16-4 = 0,000152587890625 1/65536
7 X 16-3 = 0,001708984375 1/4096
4 X 16-2 = 0,015625 1/256
13 X 16-1 = 0,8125 1/16
Solución : + 0,82998657226510
Solución Aproximada: 0,8310
c) Solución Final: 30F,D47A16 = 783,8310
Óscar Carrasco Vera.
8. Curso de Arquitectura de Computadores.
2.2. Aritmética Binaria.
2.2.1. Suma.
La suma es la operación aritmética básica, ya que las otras operaciones aritméticas elementales
pueden describirse en términos de sumas.
La suma en una computadora siempre se define para dos operando (o cantidades a ser
sumadas) solamente, porque de esta manera se tiene una reserva no mayor que 1, en cada
posición. Si se desean sumar más de dos cantidades, siempre se pueden sumar las dos primeras, y
al resultado sumarle la tercera cantidad, y así sucesivamente.
1 <- Residuo
1 1 0 1 1310
+ 1 0 0 1 910
1 0 1 1 0 2210
Ejemplos:
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1
+ 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1
1 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 0 0
1 1 1 10 10 1 1 1 1 1
1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1
+ 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1
1 0 0 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0
10 10 1 11 11 10 10 1 1 10 10 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1
+ 1 1 0 1 + 1 1 1 1 + 1 1 0 1 + 0 0 1 1
1 1 0 1 0 1 1 1 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1
2.2.2. Resta.
1 1
0 0 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1
- 1 1 0 1 - 1 1 1 1 - 1 1 0 1 - 0 0 1 1
0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0
Óscar Carrasco Vera.
9. Curso de Arquitectura de Computadores.
1 1
0 1 0 0 1
1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0
- 1 1 0 1 - 1 0 1 0 - 1 1 1 0 - 0 1 1 1
- 1 1 0 0 1 1 - 1 1 1 1 1 1
1
1 0 1
1 0 1 0
- 1 1
1 1 1
Tal como en el Sistema Decimal, cuando se realiza una resta de un número mayor por un número
menor, el resultado corresponde a un número negativo (3 - 4 = -1), en el Sistema Binario se
puede realizar invirtiendo las cantidades (de tal forma que quede 4 – 3) y al resultado se le da el
signo negativo. Sin embargo, como se verá más adelante (Representación Numérica), el número
negativo se representa aplicando un método especial.
2.2.3. Multiplicación.
La multiplicación binaria es idéntica a la decimal, además como se aprecia corresponde a un
desplazamiento del multiplicando de acuerdo al multiplicador.
(13) (9)
1 1 0 1 X 1 0 0 1
1 1 0 1
0 0 0 0
0 0 0 0
+ 1 1 0 1
1 1 1 0 1 0 1
(117)
Óscar Carrasco Vera.
10. Curso de Arquitectura de Computadores.
2.3. Representación de Datos en una Computadora.
Los datos pueden ser representados como carácter (símbolo) o como número en el caso de
dígitos (cantidad). Por ejemplo, el 1 como carácter no es lo mismo que el 1 como valor.
En el caso de los datos del tipo carácter, cada símbolo es asociado a una combinación de bits. La
cantidad de símbolos posibles a representar depende del largo del Byte que maneje la
computadora. Por general, el largo estándar es de 8 bits. Recordemos que internamente todo es
almacenado como números 1 y 0.
En el caso de valores numéricos, existen diferentes modos de representar valores. La diferencia
entre ellos consiste en la optimización del uso de memoria, ya sea por modo de almacenamiento
o por cantidad de bits utilizados para representar una cifra.
Existen diversos sistemas para representar caracteres y números. A continuación se muestra un
diagrama que ilustra las diferentes maneras de representar datos:
ASCII
Caracteres
EBCDIC
Punto Fijo
Datos
Enteros Decimal con Zona
Decimal Empaquetado
Numéricos
Punto Flotante Corto
Reales
Punto Flotante Largo
Óscar Carrasco Vera.
11. Curso de Arquitectura de Computadores.
2.3.1. Codificación de Caracteres.
Cada uno de ellos puede ser representado a través de una combinación única de bits. Para ello se
han creado varios estándares de equivalencia siendo el ASCII (ASCII-8) el adoptado por la gran
mayoría de las computadoras. Un estándar es un acuerdo internacional que establece normas
para ser regidas, en este caso, por las empresas constructoras de computadoras.
En las primeras computadoras, cada fabricante definía la cantidad de Bits que utilizaría para la
representación de datos. Con el tiempo fue necesario crear un estándar que fijara un sistema de
representación único.
Sistema Boudot.
Se contemplan 5 bits para la representación de caracteres, por lo que solamente podía
representar 32 símbolos (25). Este sistema se utilizó para señales telegráficas.
Sistema BCD.
Entre los sistemas más completos para representar símbolos con bits se encontraba el BCD
(Binary Coded Decimal / Decimal Codificado en Binario). IBM definió BCD para una de sus
primeras computadoras. Los códigos BCD consistían de palabras o cifras de 6 bits, lo que
permitía un máximo posible de 64 símbolos (26). Las computadoras BCD podían trabajar
únicamente símbolos numéricos, letras mayúsculas y algunos pocos símbolos adicionales.
Este sistema no duró mucho tiempo.
Sistema EBCDIC.
La necesidad de representar las minúsculas, además de las mayúsculas, requería de 52
códigos nada más que para el alfabeto completo, lo que llevo a IBM a desarrollar el sistema
EBCDIC (Extended Binary Coded Decimal Interchange / Código Decimal Extendido Codificado
en Binario para Intercambio).
EBCDIC es un código de 8 bits que define 256 símbolos. Todavía es utilizado en los
Mainframes y sistemas de mediana escala de IBM, pero raramente encontrado en
computadoras personales. Para cuando se empezaron a desarrollar las computadoras
pequeñas, el American National Standards Institute (ANSI), ya había entrado en acción para
definir los estándares para las computadoras.
Estándar ASCII.
La solución de la organización ANSI para representar símbolos con bits de datos fue el código
de caracteres ASCII (American Standard Code for Information Interchange / Código
Americano Estándar para intercambio de Información). Originalmente era un código de 8 bits,
pero el octavo bit tenía un propósito especial y se llamaba Bit de Paridad, de tal manera que
en realidad era un código de 7 bits que definían 128 símbolos. Más tarde, los bits de paridad
dejaron de tener importancia e IBM tomó la iniciativa nuevamente y desarrolló una versión
mejorada de ASCII que hacía uso del octavo bit (ASCII-8), permitiendo representas 256
símbolos. Cuando hizo esto IBM, no cambiaron ninguno de los 128 caracteres originales, lo
que permitió que programas y software diseñados para trabajar con el ASCII original pudiera
seguir trabajando con datos del nuevo código de caracteres.
Óscar Carrasco Vera.
12. Curso de Arquitectura de Computadores.
Estándar UNICODE.
Un nuevo estándar para representación de datos, llamado UNICODE, 16 bits par a representar
símbolos. Con 16 bits, un carácter de UNICODE podría ser uno de los 65536 (216) caracteres
o símbolos diferentes, suficientes para cualquier carácter y símbolo del mundo.
2.3.2. Formatos para Valores Numéricos.
Ya vimos como cambiar de base un número y cómo realizar operaciones aritméticas con bits. Sin
embargo, en la memoria de la computadora las cantidades en binario son almacenadas de
acuerdo a cierto formato de representación. Estos formatos permiten hacer mejor uso del espacio
de memoria de acuerdo al propósito que se tenga para con estos números.
2.3.2.1 Números Enteros.
Existen 3 formatos para representar valores enteros: Punto Fijo, Decimal con Zona y Decimal
Empaquetado. En los formatos Decimal con Zona y Decimal Empaquetado, el signo es
representado por el número 1100 2 (C16) si la cifra es positiva o 11012 (D16) si es negativa.
Formato de Punto Fijo.
Es un formato sólo sirve para representar datos enteros positivos o negativos.
Para un Entero Positivo, el número en Base 10 se transforma a Base 2 y se llena con ceros a
la izquierda hasta completar la palabra.
Para un Entero Negativo, se utiliza una técnica llamada Complemento 2:
1. Obtener el valor absoluto del número.
2. Convertir la cantidad positiva a Binario.
3. Completar con ceros a la izquierda.
4. Invertir cada Bit (ceros por unos y viceversa).
5. Sumar 1 (complemento 1).
6. Para comprobar, el resultado debe comenzar con 1.
Ejemplo: Representar el –500010 en Punto Fijo para una palabra de 16 bits.
a) 500010 1 0 0 1 1 1 0 0 0 1 0 0 02
b) 0 0 0 1 0 0 1 1 1 0 0 0 1 0 0 02
c) 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 12
d) + 1
e) 1 1 1 0 1 1 0 0 0 1 1 1 1 0 0 02
Óscar Carrasco Vera.
13. Curso de Arquitectura de Computadores.
Formato Decimal con Zona.
Permite almacenar cantidades enteras, representando cada dígito como un carácter. No
permite operar aritméticamente.
Zona Dígito Zona Dígito Zona Dígito Signo Dígito
1111 1111 1111
Zona 3 Zona 8 Signo 7
Ejemplo: 90310 = 38716 = 11100001112
1111 0011 1111 1000 1100 0111
Formato Decimal Empaquetado.
Permite almacenar cantidades enteras. Cada dígito decimal se almacena en medio byte de su
codificación binaria. El signo va en la segunda mitad del primer byte. Permite operaciones
aritméticas y su formato es el siguiente:
Dígito Dígito Dígito Dígito Dígito Dígito Dígito Signo
0 5 8 1 7 Signo
Ejemplo: 2255110 = 581716 = 1011000000101112
0000 0101 1000 0001 0111 1100
2.3.2.2 Números Reales.
Para números reales, existen 2 formatos: Punto Flotante Corto y Punto Flotante Largo. La
diferencia entre ambas consiste en la precisión, o sea cuántos decimales puede contener. La
precisión, además, depende del largo de palabra que el procesador maneje.
El método para representa un real en Punto Flotante es el siguiente:
1. Convertir la cantidad Decimal a Hexadecimal. (X10 X 16)
2. Normalizar la cifra para dejarla expresada como 0,… x 16 exp, procurando que el primer
dígito decimal (al lado derecho de la coma decimal) sea significativo (mayor que cero).
3. Sumar 6410 al exponente. Este resultado, o nuevo exponente, se transforma a
Hexadecimal.
4. Cada dígito en hexadecimal es representado en binario ocupando ½ Byte.
5. El signo se representa con un 0 si la cantidad es positiva y un 1 si es negativa.
Óscar Carrasco Vera.
14. Curso de Arquitectura de Computadores.
En el formato Punto Fijo, el punto decimal está implícito entre ciertos bits. En el formato Punto
Flotante, el punto decimal es supuesto (no queda registrado) ya que éste se transforma en un
número que represente la posición del número decimal, en notación científica.
Ejemplo: 49010 en Punto Flotante Corto.
116 = 00012 S Exponente Fracción
49010 = 1EA16 => 0,1EA x 163 E16 = 11102 0 100 0011 0000 0000 0000 0001 1110 1010
A16 = 10102 + 4 3 1 E A16
Punto Flotante Corto.
Este formato utiliza una precisión simple, esto es, la cantidad de dígitos a ser representados
es inferior debido a la menor cantidad de bits empleados para registrar la parte fraccionaria
en comparación al Punto Flotante Largo.
S Exponente Fracción
8 Bits 24 Bits
32 Bits
Punto Flotante Largo.
Este formato aumenta la precisión (doble precisión) de un valor real, ya que posee una mayor
cantidad de bits para registrar la parte fraccionaria.
S Exponente Fracción
8 Bits 56 Bits
64 Bits
Óscar Carrasco Vera.