CENTROS DE ESTUDIOS
TECNOLOGICOS
INDUSTRAL Y DE
SERVICIO
IDALIA GPE TRISTÁN SÁNCHEZ
CARLOS OZIEL SOLIS JUAREZ
MARGARITA ROMERO ALVARADO
DESARROLLA SOFTWARE UTILIZANDO
PROGRAMACIÓN ESTRUCTURADA
2 AM PROGRAMACIÓN
TIPOS DE DATOS
PARA C++
PROPOSITO
 Los distintos tipos de datos son representados en la memoria del
computador de acuerdo al tipo y al lenguaje de programación que use.
Los numeros enteros en C++ por ejemplo miden 16 bits o 2 bytes
(bit=digito binario).
 El minimo numero que se puede escribir en 16 bits equivale a 16 ceros
(0) que al ser convertidos a decimal representan precisamente el valor
0 (cero). El maximo número que se puede escribir en 16 bits son 16
unos que representan el numero 65535 decimal. Teniendo en cuenta
que hablamos de numeros sin signo
TIPOS DE DATOS PARA C++
 Los distintos tipos de datos son representados en la memoria del
computador de acuerdo al tipo y al lenguaje de programación que
use. Los numeros enteros en C++ por ejemplo miden 16 bits o 2
bytes (bit=digito binario).
 El minimo numero que se puede escribir en 16 bits equivale a 16
ceros (0) que al ser convertidos a decimal representan precisamente
el valor 0 (cero). El maximo número que se puede escribir en 16 bits
son 16 unos que representan el numero 65535 decimal. Teniendo en
cuenta que hablamos de numeros sin signo
TIPO DE DATOS BASICO EN
LENGUAJE C++
TIPO DE DATOS BASICO EN
LENGUAJE C++
 La siguiente tabla indica los tipos de dato simple de C++ son
sus modificadore de tamaño (long y short) ademas de sus
modificadores de signo (signed y unsigned).
LOS TIPOS DE DATOS EN C++ SE
CLASIFICAN EN PRIMITIVOS Y DERIVADOS

Los tipos de datos primitivos son los que están definidos dentro del
lenguaje.

Los tipos de datos derivados se forman a partir de los tipos primitivos.

En este tema veremos los tipos primitivos y en temas siguientes
estudiaremos los tipos derivados.

Los tipos de datos primitivos en C++ son: numéricos enteros, numéricos
reales, tipo lógico y tipo carácter ampliado.
Tipos de datos C++ numéricos enteros
 El tipo de dato numérico entero es un subconjunto finito de los
números enteros del mundo real. Pueden ser positivos o negativos.
 En C++ los tipos de datos numéricos enteros son los siguientes:
Tipos de datos C++ numéricos enteros
 Con los tipos enteros pueden utilizarse
los calificadores signed y unsigned. Estos calificadores indican si
el número tiene signo o no. Si se usan solos, sin indicar el tipo de
dato se asume int. Por ejemplo, las siguientes declaraciones son
equivalentes: unsigned int x; equivale a: unsigned x;
Tipos de datos C++ numéricos enteros
 Usando estos calificadores podemos tener los siguientes tipos
enteros:
Tipos de datos numéricos reales
 El tipo de dato numérico real es un subconjunto finito de los números
reales. Pueden ser positivos o negativos. En C++ los tipos de datos
numéricos reales son los siguientes:
Tipo lógico
 Los datos de este tipo sólo pueden contener dos valores: true ó false
(verdadero ó falso). Si se muestran como enteros, el valor true toma
el valor 1 y false el valor 0.
Tipo carácter extendido
 Este tipo se utiliza para representar caracteres UNICODE. Utiliza 2 bytes a
diferencia del tipo char que solo utiliza 1.
ENTEROS
 En C++ 32-bit, los tipos int y long son equivalentes, ambos usan 32 bits
[3]. Las variedades con signo son todas almacenadas en forma de
complemento a dos usando el bit más significativo como bit de signo
(0 positivo y 1 negativo), lo que explica los rangos indicados en la
tabla. En las versiones sin signo, se usan todos los bits, con lo que el
número de posibilidades es 2n, y el rango de valores está entre 0 y 2n-
1, donde n es el número de bits de la palabra del procesador, 8, 16 o
32 (uno, dos, o cuatro octetos).
ENTEROS
 El estándar ANSI C no define el tamaño de almacenamiento de los
diversos tipos, solamente indica que la serie short, int y long no es
descendente, es decir: short <= int <= long. De hecho, legalmente los
tres tipos pueden ser del mismo tamaño.
ENTEROS
En cualquier caso, los rangos vienen indicados por las constantes que se señalan
(incluidas en <limits.h>):
ENTEROS
 En la mayoría de los compiladores un short es menor que un int, de forma que
algunos programas que deben almacenar grandes matrices de números en
memoria o en ficheros pueden economizar espacio utilizando short en lugar
de int, pero siempre que se cumplan dos condiciones:
1. En la implementación un short es realmente menor que un int.
2.- Los valores caben en un short.
ENTEROS
En algunas arquitecturas el código empleado para manejar los short es más largo
y lento que el correspondiente para los int. Esto es particularmente cierto en los
procesadores Intel x86 ejecutando código de 32 bits en programas para Windows
(NT/95/98), Linux y otras versiones Unix. En estos códigos, cada instrucción que
referencia a un short es un byte más larga y generalmente necesita tiempo extra
de procesador para ejecutarse.
ENTEROS
 El rango exigido para signed int y unsigned int es idéntico que para los signed
short y unsigned short. En compiladores para procesadores de 8 y 16 bits
(incluyendo los Intel x86 ejecutando código en modo 16 bits, como bajo MS
DOS), normalmente un int es de 16 bits, exactamente igual que un short. En
los compiladores para procesadores de 32 bit y mayores (incluyendo los Intel
x86 ejecutando código de 32 bits como Windows o Linux) generalmente un int
es de 32 bits, exactamente igual que un long.
NUEVOS TIPOS NUMERICOS
 Los rangos previstos para los nuevos tipos ( 3.2.3d) long long. que se
proyectan incluir en el estándar son:
NUEVOS TIPOS NUMERICOS
 La diferencia entre enteros con signo y sin signo (signed y unsigned) es que en
los primeros el bit más significativo se usa para guardar el signo (0 positivo, 1
negativo), esto hace que los enteros con signo tengan un rango de valores
posibles distinto que los unsigned. Véase al respecto el rango de int y unsigned
int. Los enteros sin signo se mantienen en valores 0 ó positivos, dentro de la
aritmética de numeración de módulo base 2, es decir 2n, donde n es el número
de bits de almacenamiento del tipo, de forma que, por ejemplo, si un int se
almacena en 32 bits, unsigned int tiene un rango entre 0 y 232 -1 =
4,294,967,295 (el valor 0 ocupa una posición de las 4.294.967.295 posibles).
CARACTER
 El valor de CHAR_BIT es al menos 8; la mayoría de los ordenadores modernos
usan bytes de 8 bits (octetos), pero existen algunos con otros tamaños, por
ejemplo 9 bits. Además algunos procesadores, especialmente de señal (Digital
Signal Processors), que no pueden acceder de forma eficiente a la memoria
en tamaños menores que la palabra del preprocesador, tienen un CHAR_BIT
distinto, por ejemplo 24. En estos casos, los tipos char, short e int son todos
de 24 bits, y long de 48 bits. Incluso son más comunes actualmente
procesadores de señal donde todos los tipos enteros incluyendo los long son
de 32 bits.
CARACTER
CARACTER
FRACCIONARIOS
 La representación y rango de valores de los números fraccionarios depende
del compilador. Es decir, cada implementación de C++ es libre para definirlos.
La mayoría utiliza el formato estándar de la IEEE (Institute of Electrical and
Electronics Engineers) para este tipo de números ( 2.2.4a). float y double son
tipos fraccionarios de 32 y 64 bits respectivamente. El modificador long puede
utilizarse con el tipo double, declarando entonces un número fraccionario de
80 bits. En C++Builder las constantes fraccionarias, que pueden ser float,
double y long double, tienen los rangos que se indican:
FRACCIONARIOS
 Generalmente los compiladores C++ incluyen de forma automática la librería
matemática de punto flotante si el programa utiliza valores fraccionarios [4].
Builder utiliza los siguientes límites, definidos en el fichero <values.h>
MI OPINIÓN
 Hay diversos tipos de datos de c++ tanto es sus variables
como en sus números enteros, fraccionarios y su carácter
al usarlo tenemos que tomar en cuenta su tipo de dato
para poder programar con c++. Todo esto me lleva a
comprender todos sus tipos de datos para su programa
CONCLUSIÓN
 Cualquier lenguaje de programación se debe conocer cuales son los conceptos
que soporta, es decir, el tipo de programación que vamos a poder realizar con
él. Como el C++ incorpora características nuevas respecto a lenguajes como
Pascal o C, en primer lugar daremos una descripción a los conceptos a los que
este lenguaje da soporte, repasando los paradigmas de programación y
centrándonos en la evolución desde la programación Funcional a la
programación Orientada a Objetos.
BIBLIOGRAFIA
 http://www.zator.com/Cpp/E2_2_4.htm
 https://programacionfusa.wordpress.com/contenido/los-datos-en-c/
 https://msdn.microsoft.com/es-mx/library/hh279663.aspx

TIPOS DE DATOS PARA C++

  • 1.
    CENTROS DE ESTUDIOS TECNOLOGICOS INDUSTRALY DE SERVICIO IDALIA GPE TRISTÁN SÁNCHEZ CARLOS OZIEL SOLIS JUAREZ MARGARITA ROMERO ALVARADO DESARROLLA SOFTWARE UTILIZANDO PROGRAMACIÓN ESTRUCTURADA 2 AM PROGRAMACIÓN
  • 2.
  • 3.
    PROPOSITO  Los distintostipos de datos son representados en la memoria del computador de acuerdo al tipo y al lenguaje de programación que use. Los numeros enteros en C++ por ejemplo miden 16 bits o 2 bytes (bit=digito binario).  El minimo numero que se puede escribir en 16 bits equivale a 16 ceros (0) que al ser convertidos a decimal representan precisamente el valor 0 (cero). El maximo número que se puede escribir en 16 bits son 16 unos que representan el numero 65535 decimal. Teniendo en cuenta que hablamos de numeros sin signo
  • 4.
    TIPOS DE DATOSPARA C++  Los distintos tipos de datos son representados en la memoria del computador de acuerdo al tipo y al lenguaje de programación que use. Los numeros enteros en C++ por ejemplo miden 16 bits o 2 bytes (bit=digito binario).  El minimo numero que se puede escribir en 16 bits equivale a 16 ceros (0) que al ser convertidos a decimal representan precisamente el valor 0 (cero). El maximo número que se puede escribir en 16 bits son 16 unos que representan el numero 65535 decimal. Teniendo en cuenta que hablamos de numeros sin signo
  • 5.
    TIPO DE DATOSBASICO EN LENGUAJE C++
  • 6.
    TIPO DE DATOSBASICO EN LENGUAJE C++
  • 7.
     La siguientetabla indica los tipos de dato simple de C++ son sus modificadore de tamaño (long y short) ademas de sus modificadores de signo (signed y unsigned).
  • 8.
    LOS TIPOS DEDATOS EN C++ SE CLASIFICAN EN PRIMITIVOS Y DERIVADOS  Los tipos de datos primitivos son los que están definidos dentro del lenguaje.  Los tipos de datos derivados se forman a partir de los tipos primitivos.  En este tema veremos los tipos primitivos y en temas siguientes estudiaremos los tipos derivados.  Los tipos de datos primitivos en C++ son: numéricos enteros, numéricos reales, tipo lógico y tipo carácter ampliado.
  • 9.
    Tipos de datosC++ numéricos enteros  El tipo de dato numérico entero es un subconjunto finito de los números enteros del mundo real. Pueden ser positivos o negativos.  En C++ los tipos de datos numéricos enteros son los siguientes:
  • 10.
    Tipos de datosC++ numéricos enteros  Con los tipos enteros pueden utilizarse los calificadores signed y unsigned. Estos calificadores indican si el número tiene signo o no. Si se usan solos, sin indicar el tipo de dato se asume int. Por ejemplo, las siguientes declaraciones son equivalentes: unsigned int x; equivale a: unsigned x;
  • 11.
    Tipos de datosC++ numéricos enteros  Usando estos calificadores podemos tener los siguientes tipos enteros:
  • 12.
    Tipos de datosnuméricos reales  El tipo de dato numérico real es un subconjunto finito de los números reales. Pueden ser positivos o negativos. En C++ los tipos de datos numéricos reales son los siguientes:
  • 13.
    Tipo lógico  Losdatos de este tipo sólo pueden contener dos valores: true ó false (verdadero ó falso). Si se muestran como enteros, el valor true toma el valor 1 y false el valor 0.
  • 14.
    Tipo carácter extendido Este tipo se utiliza para representar caracteres UNICODE. Utiliza 2 bytes a diferencia del tipo char que solo utiliza 1.
  • 15.
    ENTEROS  En C++32-bit, los tipos int y long son equivalentes, ambos usan 32 bits [3]. Las variedades con signo son todas almacenadas en forma de complemento a dos usando el bit más significativo como bit de signo (0 positivo y 1 negativo), lo que explica los rangos indicados en la tabla. En las versiones sin signo, se usan todos los bits, con lo que el número de posibilidades es 2n, y el rango de valores está entre 0 y 2n- 1, donde n es el número de bits de la palabra del procesador, 8, 16 o 32 (uno, dos, o cuatro octetos).
  • 16.
    ENTEROS  El estándarANSI C no define el tamaño de almacenamiento de los diversos tipos, solamente indica que la serie short, int y long no es descendente, es decir: short <= int <= long. De hecho, legalmente los tres tipos pueden ser del mismo tamaño.
  • 17.
    ENTEROS En cualquier caso,los rangos vienen indicados por las constantes que se señalan (incluidas en <limits.h>):
  • 18.
    ENTEROS  En lamayoría de los compiladores un short es menor que un int, de forma que algunos programas que deben almacenar grandes matrices de números en memoria o en ficheros pueden economizar espacio utilizando short en lugar de int, pero siempre que se cumplan dos condiciones: 1. En la implementación un short es realmente menor que un int. 2.- Los valores caben en un short.
  • 19.
    ENTEROS En algunas arquitecturasel código empleado para manejar los short es más largo y lento que el correspondiente para los int. Esto es particularmente cierto en los procesadores Intel x86 ejecutando código de 32 bits en programas para Windows (NT/95/98), Linux y otras versiones Unix. En estos códigos, cada instrucción que referencia a un short es un byte más larga y generalmente necesita tiempo extra de procesador para ejecutarse.
  • 20.
    ENTEROS  El rangoexigido para signed int y unsigned int es idéntico que para los signed short y unsigned short. En compiladores para procesadores de 8 y 16 bits (incluyendo los Intel x86 ejecutando código en modo 16 bits, como bajo MS DOS), normalmente un int es de 16 bits, exactamente igual que un short. En los compiladores para procesadores de 32 bit y mayores (incluyendo los Intel x86 ejecutando código de 32 bits como Windows o Linux) generalmente un int es de 32 bits, exactamente igual que un long.
  • 21.
    NUEVOS TIPOS NUMERICOS Los rangos previstos para los nuevos tipos ( 3.2.3d) long long. que se proyectan incluir en el estándar son:
  • 22.
    NUEVOS TIPOS NUMERICOS La diferencia entre enteros con signo y sin signo (signed y unsigned) es que en los primeros el bit más significativo se usa para guardar el signo (0 positivo, 1 negativo), esto hace que los enteros con signo tengan un rango de valores posibles distinto que los unsigned. Véase al respecto el rango de int y unsigned int. Los enteros sin signo se mantienen en valores 0 ó positivos, dentro de la aritmética de numeración de módulo base 2, es decir 2n, donde n es el número de bits de almacenamiento del tipo, de forma que, por ejemplo, si un int se almacena en 32 bits, unsigned int tiene un rango entre 0 y 232 -1 = 4,294,967,295 (el valor 0 ocupa una posición de las 4.294.967.295 posibles).
  • 23.
    CARACTER  El valorde CHAR_BIT es al menos 8; la mayoría de los ordenadores modernos usan bytes de 8 bits (octetos), pero existen algunos con otros tamaños, por ejemplo 9 bits. Además algunos procesadores, especialmente de señal (Digital Signal Processors), que no pueden acceder de forma eficiente a la memoria en tamaños menores que la palabra del preprocesador, tienen un CHAR_BIT distinto, por ejemplo 24. En estos casos, los tipos char, short e int son todos de 24 bits, y long de 48 bits. Incluso son más comunes actualmente procesadores de señal donde todos los tipos enteros incluyendo los long son de 32 bits.
  • 24.
  • 25.
  • 26.
    FRACCIONARIOS  La representacióny rango de valores de los números fraccionarios depende del compilador. Es decir, cada implementación de C++ es libre para definirlos. La mayoría utiliza el formato estándar de la IEEE (Institute of Electrical and Electronics Engineers) para este tipo de números ( 2.2.4a). float y double son tipos fraccionarios de 32 y 64 bits respectivamente. El modificador long puede utilizarse con el tipo double, declarando entonces un número fraccionario de 80 bits. En C++Builder las constantes fraccionarias, que pueden ser float, double y long double, tienen los rangos que se indican:
  • 27.
    FRACCIONARIOS  Generalmente loscompiladores C++ incluyen de forma automática la librería matemática de punto flotante si el programa utiliza valores fraccionarios [4]. Builder utiliza los siguientes límites, definidos en el fichero <values.h>
  • 28.
    MI OPINIÓN  Haydiversos tipos de datos de c++ tanto es sus variables como en sus números enteros, fraccionarios y su carácter al usarlo tenemos que tomar en cuenta su tipo de dato para poder programar con c++. Todo esto me lleva a comprender todos sus tipos de datos para su programa
  • 29.
    CONCLUSIÓN  Cualquier lenguajede programación se debe conocer cuales son los conceptos que soporta, es decir, el tipo de programación que vamos a poder realizar con él. Como el C++ incorpora características nuevas respecto a lenguajes como Pascal o C, en primer lugar daremos una descripción a los conceptos a los que este lenguaje da soporte, repasando los paradigmas de programación y centrándonos en la evolución desde la programación Funcional a la programación Orientada a Objetos.
  • 30.