Académique Documents
Professionnel Documents
Culture Documents
LOS DATOS
Jorge Herrera Castillo
OBJETIVOS
Comprender el significado de los tipos de datos en relacin a los formatos de almacenamiento
interno.
Adquirir el conocimiento bsico de los sistemas numricos relacionados con la informacin digital
que procesan los circuitos de los computadores.
Aprender los estndares de almacenamiento interno de los datos.
Comprender el significado de las variables y constantes declaradas en un programa.
Aprender a convertir datos de un sistema numrico a otro sistema numrico.
Aprender a realizar las operaciones binarias: suma, resta, multiplicacin, divisin y complemento a
uno y a dos
CONTENIDO
4.1 DEFINICIN
4.3.1 BITS
4.3.2 BYTES
4.7 VARIABLES
4.8 CONSTANTES
4.9 OBJETOS
4.10 EJERCICIOS
34 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
4. 1 DEFINICIN
L
os datos representan hechos, conceptos e instrucciones organizados de tal manera que permiten su
comunicacin, interpretacin, almacenamiento y procesamiento por seres humanos o por medios
automticos, como el computador. Para el caso del computador esta organizacional definen los tipos de
datos. En las siguientes secciones explicaran con mayor detalle lo relacionado con los tipos de datos.
4.3.2 BYTE
Un byte es un cdigo binario de ocho bits y es la unidad mnima para representar un dato, como un carcter o
un entero.
En un dato cada digito tiene un peso segn la posicin que ocupa. Por
ejemplo el dato 2067 el 2 tiene ms peso que el 7 porque cada unidad
porque cada unidad en que vare el 2 el dato se afecta en 1000 (caso
sistema decimal). Para el sistema binario:
Sea N = B4 B3 B2 B1 B0
El equivalente decimal = Bi * 2i
i = n 1 j =m
N b = i =0 ai b i + j =1 a j b j
donde: b = la base del sistema, 0 ai b-1, 0 aj b-1 , m = nmero de dgitos parte fraccionaria.
36 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
4.4.2 SISTEMA BINARIO
El sistema binario (base = 2) los pesos de los dgitos estn asociados a su posicin.
i = n 1 j =m
N 2 = i =0 ai 2 i + j =1 a j 2 j Equivalente
en el sistema
decimal
ai = aj = < 0, 1 >
i = n 1 j =m
N 8 = i = 0 ai 8 i + j =1 a j 8 j
ai = aj = < 0, 1, 2, 3, 4, 5, 6, 7 >
i = n 1 j =m
N 2 = i =0 ai 16 i + j =1 a j 16 j
ai = aj = < 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F >
Pesos: 16 8 4 2 1
1 0 1 0 0 = 16 +4 = 20 Entonces 10100 es igual 20
128 64 32 16 8 4 2 1 Pesos
1 0 1 0 1 1 1 1 Nmero binario
128 + 0 + 32 + 0 + 8 + 4 + 2 + 1 = 175
Para la conversin de nmeros binarios se procede de la misma manera, basta tener en cuenta tambin los
pesos de los dgitos fraccionarios.
Ejemplo 3
24 23 22 21 20 2-1 2-2
16 8 4 2 1 0.5 0.25 Pesos
1 1 1 0 1 . 1 1 Nmero binario
Ejemplo 1
37/2 = 18 residuo: 1
18/2 = 9 residuo: 0
9/2 = 4 residuo: 1
4/2 = 2 residuo: 0
2/2 = 1 residuo: 0
Entonces 37 = 101001
La conversin de un decimal con parte fraccionaria a binario se realiza multiplicando por 2 la parte
fraccionaria ; la nueva parte fraccionaria tambin se multiplica por 2, as hasta que un resultado no tenga parte
fraccionaria o bien hasta la precisin que se determine.
Ejemplo 2
38 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
Para la parte fraccionaria:
0.6875 x 2 = 1.375 1
0.375 x 2 = 0.75 0
0.75 x 2 = 1.5 1
0.5 x 2 = 1.0 1
Ejemplo
2 3 4 5 3 1 1 6 1
Ejemplo
2 = 010
6 = 110
5 = 101
0 = 000
1 = 001
Ejemplo
2 7 2 A 9 D 3 9
Ejemplo
8 = 1000
3 = 0011
A= 1010
6 = 0110
F = 1111
E = 1110
Los circuitos de los computadores o cualquier otro sistema digital las operaciones se realizan en binario. La
operacin aritmtica fundamental es la suma, puesto que a partir de ella se pueden realizar el resto de
operaciones.
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 y se lleva 1 (acarreo)
Como se puede observar, cuando se suma 1 + 1 aparece el concepto de acarreo el cual se suma a la siguiente
columna de suma.
Ejemplos
1 Acarreo
1010 1010
+0011 +0011
1101
11 Acarreos
101 1 101
+ 111 + 111
1100
40 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
4.4.6.2 Resta binaria
0 - 0 = 0
0 - 1 = 1 y se presta 1 (prstamo)
1 - 0 = 1
1 - 1 = 0
En el caso de 0 1 ocurre algo similar al acarreo de las sumas; se genera un 1 que se lleva a la resta de la
siguiente columna. Este bits que se genera se conoce como bits de prstamo.
Ejemplos
1111 1111
- 0101 - 0101
1010
1101 1101
- 1010 -1010
1
0011
4.4.6.3 Multiplicacin binaria
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
Ejemplo
1001 1001
x 101 x 101
1001
0000
1001
101101
La divisin binaria, al igual que en el sistema decimal, es una combinacin de multiplicacin y resta.
Ejemplo
101101 101
000 Residuo
4.4.6.5 Complementos
Complemento a uno: Lo que le falta a cada digito binario para llegar a uno. El complemento a 1 de 100110
es 011001.
Ejemplo
Los datos de numricos de formato de punto fijo se utilizan para almacenar en la memoria del computador
valores enteros, sin punto o coma decimal.
Segn el estndar IEEE 754 el formato de almacenamiento interno para datos de punto fijo de precisin
larga es de 32 bits, un bits para el signo y 31 bits para la magnitud.
42 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
4.5.2 DATOS NUMRICOS PUNTO FLOTANTE
Los datos de numricos de formato de punto flotante se utilizan para almacenar en la memoria del
computador valores reales, con punto o coma decimal.
Real = magnitud*baseexponente
Ejemplo. Hallar el cdigo binario del empaquetamiento interno del nmero real +420.125
Mantisa = 10100100001
Caracterstica = 8 + 127 = 135
Al convertir a binario la caracterstica ser: 10000111
1 10000111 10100100001
4.5.2.2 PRECICIN DOBLE
Segn el estndar IEEE 754 el formato de almacenamiento interno para datos de punto flotante de doble
precisin es de 64 bits, distribuidos as:
El ASCII (American Standard Code for Information Interchange) es un cdigo de siete bits ms un
bit de control de paridad por consiguiente slo permite codificar hasta 128 smbolos diferentes.
El ASCII Extendido el cual contiene algunos nuevos smbolos extendiendo el cdigo a 8 bits.
El UNICODE es un cdigo que permite una gran cantidad de smbolos en la actualidad tiene una
codificacin de cerca de cincuenta mil smbolos.
UTF-8 empaqueta cualquier entero del 0 al 127.
Generalmente los compiladores C++ tiene funciones predeterminadas para hallar el tamao y los rangos de
los valores de los tipos de datos primitivos. A continuacin se presentan dos ejemplo de programas en C++
para hallar el tamao y el rango de valores de los tipos de datos definidos en el compilador C++ de Visual
Studio .NET.
/**
* Programa para hallar el tamao en bytes de los tipos primitivos
* utilizando la funcin sizeof()
*/
int main(array<System::String ^> ^args)
{
Console::Title="Programa para hallar los tamaos de los tipos primitivos";
Console::BackgroundColor=ConsoleColor::White;
Console::Clear();
Console::ForegroundColor=ConsoleColor::Black;
Console::WriteLine("\n\n\t\tClculo tamao de los tipos de datos bsicos\n");
Console::WriteLine("\t\t\tTamao tipo int = {0} bytes",sizeof(int));
Console::WriteLine("\t\t\tTamao tipo short = {0} bytes",sizeof(short));
Console::WriteLine("\t\t\tTamao tipo char = {0} bytes",sizeof(char));
Console::WriteLine("\t\t\tTamao tipo bool = {0} bytes",sizeof(bool));
44 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
Console::WriteLine("\t\t\tTamao tipo float = {0} bytes",sizeof(float));
Console::WriteLine("\t\t\tTamao tipo double = {0} bytes",sizeof(double));
Console::Write("\n\n\n\t\t\tPulse cualquier tecla para terminar");
Console::ReadKey();
return 0;
}
Ventana salida del programa que calcula los tamaos de los tipos primitivos
A continuacin se presenta un programa en C++ .NET para hallar los rangos de valores que tienen los tipos de
datos primitivos para el compilador donde se desarrolla este programa.
Ventana de salida del programa que calcula los rangos de los valores de los tipos primitivos
Para que las instrucciones de los programas puedan manipular los datos almacenados en la memoria del
computador es necesario definirlos como:
Variables,
Constantes u
Objetos.
4.7 VARIABLES
Los datos variables son aquellos que cambian de valores durante la ejecucin del programa. En el contexto de
la programacin una variable es un elemento que se declara con un nombre que identifica al dato en la
memoria del computador y un tipo para definirle las caractersticas del los valores de los datos.
En general para cualquier lenguaje de programacin (valido para C++, Java y C#) el formato para la
declaracin de una variable es:
46 Fundamentos de Programacin
Profesor Jorge Herrera Castillo
Ejemplos de sentencias declarativas de variables:
int contador=0;
double totalVentas=0.0;
float venta,valorUnitario;
int numeroUnidades;
4.8 CONSTANTES
Las constantes son datos cuyos valores permanecen fijos durante la ejecucin del programa. Algunos
lenguajes como el C++ permite definir datos constantes. A continuacin se presenta un ejemplo de programa
donde se declara una constante de tipo int.
#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;
using namespace System;
/*
* Programa para probar el
* uso de una constante
*/
int main(array<System::String ^> ^args)
{
for(int i=1;i<=LINEAS;i++)
{
cout<<"Linea "<<i<<endl;
}
getch();
return 0;
}
Si usted intenta escribir una sentencia para modificar el valor LNEAS el compilador le informa que no es
permitido.
4.9 OBJETOS
Los objetos son datos activos, es decir, que adems de los datos tienen la parte relacionada con la
funcionalidad de los datos. Un objeto es una instancia de una clase.
4.9 EJERCICIOS
1) Cul es el significado del trmino BIT?
2) Cul es el nmero mximo de combinaciones binarias que se pueden hacer con 8 bits?
3) Pasar a decimal los nmeros binarios:
a. 1100111000001110101011
b. 10101111
4) Pasar a binario los nmeros decimales:
a. 37
b. 1023
c. 127
d. 23.56
5) Pasar a binario los nmeros hexadecimales:
a. A23BC
b. 34D.C4
6) Pasar a octal los nmero binarios:
a. 1000111110.01110001
b. 1110011000
c. 11.000111100
7) Pasar a decimal los nmeros octales:
a. 345.11
b. 567123.118
c. 111.23
8) Restar 11111001 de 111111111111001
9) Hallar el complemento a 2 del nmero binario 1011100001
10) Hallar el complemento a 9 del decimal 45879
11) Utilizando el mtodo de los complementos realizar la resta decimal de 23456 1345
12) Representar en punto flotante de precisin sencilla el nmero 453.25
13) Representar en punto flotante precisin doble el nmero 4567.875
48 Fundamentos de Programacin
Profesor Jorge Herrera Castillo