No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de C++ Básico

Curso de C++ Básico

Diana Martínez

Diana Martínez

Tipos de datos

7/18
Recursos

¿Qué son los tipos de datos en C++?

Los tipos de datos son fundamentales en cualquier lenguaje de programación, incluido C++. Sirven para definir los valores que introducimos en la computadora, permitiéndonos manipular información como edades, nombres o estructuras más complejas. Además, ayudan a que el compilador entienda cómo manejar correctamente estos datos, facilitando tanto la detección de errores como la ejecución de operaciones adecuadas.

¿Por qué es importante conocer los tipos de datos?

Conocer los tipos de datos y sus características es vital debido a que influye en:

  • Interoperabilidad del sistema: Al programar, es esencial saber qué tipos de datos soporta el compilador y cómo pueden variar los tamaños de bytes dependiendo de la arquitectura del sistema.
  • Gestión óptima de la memoria: Comprender cómo cada tipo de dato ocupa la memoria puede significar la diferencia entre una aplicación eficiente y una ineficiente.
  • Detección y corrección de errores: Permite anticipar y corregir errores, ya que el compilador puede arrojar advertencias si usamos indebidamente ciertos tipos de datos.

Principales tipos de datos en C++

¿Qué es un booleano?

El tipo booleano (bool) representa valores lógicos: verdadero (true) y falso (false). Aunque conceptualmente podrían almacenarse en un solo bit, normalmente ocupan 4 bytes en C++ para facilitar el acceso y manejo de la información.

bool esVerdadero = true;

¿Qué son los enteros?

El tipo int se utiliza para almacenar números enteros. Ocupan 4 bytes de memoria, permitiendo manejar tanto valores positivos como negativos. El uso del bit de signo define si se utiliza para gestionar el signo o para ampliar el rango de valores positivos.

int numero = 42;

¿Cómo usamos los números de punto flotante?

Para representar valores decimales, C++ utiliza el tipo float, conocido por manejar números de punto flotante. Usan 4 bytes y internamente emplean una representación basada en exponentes.

float decimal = 0.5f;

¿Qué es el tipo double?

El tipo double es similar a float, pero ofrece mayor precisión al ocupar 8 bytes. Es ideal para situaciones donde se requieren representar números decimales de manera más exacta.

double numeroPreciso = 3.1415926535;

¿Cómo funcionen los caracteres ASCII?

El tipo char se utiliza para manejar caracteres según la tabla ASCII, que asigna un valor numérico a cada letra o símbolo. Esta tabla inicial tenía 256 valores, cubriendo letras, dígitos y varios símbolos. El char ocupa solo 1 byte.

char letra = 'A';

Consejos prácticos para trabajar con tipos de datos en C++

Siempre que programes, investiga:

  • Compatibilidad con el compilador: Verifica qué tipos de datos son soportados y qué tamaños de bytes se utilizan en la plataforma destino.
  • Limitaciones del sistema: Considera el entorno donde se ejecutará el programa, pues las características pueden variar en sistemas embebidos o arquitecturas diferentes.
  • Uso eficiente de memoria: Calcula correctamente el espacio requerido por las variables para optimizar el rendimiento de tu aplicación.

Con estos consejos y conocimientos, tendrás una base más sólida para desarrollar eficientemente tus proyectos en C++. Continúa explorando y experimentando: ¡el dominio de los tipos de datos hará que tu código sea robusto y fiable!

Aportes 24

Preguntas 6

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tipos de datos

  • Bool (Boolean):
    • Valor logico
    • Puede ser Verdadero o Falso
    • Tamaño de 4 bytes
  • Int (Integer):
    • Numero enteros
    • Tamaño: 4 Bytes
  • Float:
    • Numeros de decimales (punto flotante)
    • Tamaño: 4 bytes
  • Double:
    • Numeros de punto flotante de doble precision
    • Tamaño: 8 bytes (4+4 = doble flotante)
  • Char (Character):
    • Caracter (ASCII)
    • Muestra el caracter o su numero en ASCII
    • Tamaño: 4 bytes
      .

También tenemos:

  • Short Int
  • Unsign Int
  • Long Double

.

Nota: Seria bueno investigar los rangos de cada tipo de dato. No lo mencionan a fondo en la clase, pero es bueno saberlo. Más bien, acá dejare una tablita:

CODIGO QUE IMPRIME LOS TIPOS DE DATOS VISTOS EN CLASES

#include <iostream>
using std::cout;
using std::endl;

int main(){
    int boolean = true;
    cout << boolean << endl;

    int number1 = 3 / 2;
    cout << number1 << endl;

    float number2 = 2.5;
    cout << number2 << endl;

    double number3 = 2.53;
    cout << number3 << endl;

    char letra = 'a';
    cout << letra << endl;

    cout << "Hello World" << endl;
    cout << "Bye World" << endl;
}

Ya que C++ es un lenguaje tipado, es necesario especificar que tipo de datos tienen nuestras variables o funciones.

Tambiéne existe auto para cuando quieren que se detecte de manera automática el tipo de dato.

#include <iostream>

using namespace std;

int main()
{
    auto bool1 = true;
    auto int1 = 1;
    auto double1 = 1.1;
    auto float1 = 1.1f;
    auto char1 = 'a';
    return 0;
}

como se encuentran el día de hoy. muy buenas clases

Dejo un código que imprime las letras en mayúsculas con su número de la tabla ASCIII

#include <iostream>

using namespace std;

int main(int argc, char const *argv[])
{
    int inicio = 65;
    int limite = 90;
    
    for (int i = inicio; i <= limite; i++)
    {
        cout <<" | Caracter: "<< (char) i << " Número ASCII: " << i << "| ";
        if( i % 2 == 0){
            cout << endl;
        }   
    }
    return 0;
}

Salida:

| Caracter: A Número ASCII: 65| | Caracter: B Número ASCII: 66|
| Caracter: C Número ASCII: 67| | Caracter: D Número ASCII: 68|
| Caracter: E Número ASCII: 69| | Caracter: F Número ASCII: 70|
| Caracter: G Número ASCII: 71| | Caracter: H Número ASCII: 72|
| Caracter: I Número ASCII: 73| | Caracter: J Número ASCII: 74|
| Caracter: K Número ASCII: 75| | Caracter: L Número ASCII: 76|
| Caracter: M Número ASCII: 77| | Caracter: N Número ASCII: 78|
| Caracter: O Número ASCII: 79| | Caracter: P Número ASCII: 80|
| Caracter: Q Número ASCII: 81| | Caracter: R Número ASCII: 82|
| Caracter: S Número ASCII: 83| | Caracter: T Número ASCII: 84|
| Caracter: U Número ASCII: 85| | Caracter: V Número ASCII: 86|
| Caracter: W Número ASCII: 87| | Caracter: X Número ASCII: 88|
| Caracter: Y Número ASCII: 89| | Caracter: Z Número ASCII: 90|

En algún momento Dianita menciona lo que es un Sistema embebido te diré lo que este es:

Un sistema embebido es un sistema para realizar funciones muy específicas la cual contiene sus componentes almacenados en una placa base, ejemplos de sistemas embebidos son:

  • Taxímetro
  • Sistema eléctrico de máquina expendedora
  • Sistema de una fotocopiadora ,etc.

ALGUNOS EJEMPLOS DE TIPOS DE DATOS

#include<iostream>

using namespace std;

int main()
{
	short numerito = 1; //enteros 
	int numero = 12345; //enteros 
	long numerote = 12345678; //enteros 
	float decPeque = 3.1416; // decimales
	double decGrande = 12.3456; //decimales 
	char letra = 'E'; //caracter
	bool logico = true; //logico 
	
	cout << "La variable short es: " << numerito << endl;
	cout << "La variable int es: " << numero << endl;
	cout << "La variable long es: " << numerote << endl;
	cout << "La variable float es: " << decPeque << endl;
	cout << "La variable double es: " << decGrande << endl;
	cout << "La variable char es: " << letra << endl;
	cout << "La variable bool es: " << logico << endl;
	cout << "-------------------"<< endl;
	
	cout << "Dame un nuevo valor para short: " ;
	cin >> numerito;
	cout << "La variable short es: " << numerito << endl;
	
	cout << "Dame un nuevo valor para char: " ;
	cin >> letra;
	cout << "La variable bool es: " << letra << endl;
}

Tipos de datos:

  • bool (Valor lógico). True - False; tamaño: 4B
  • int (Número entero). 100; tamaño: 4B
  • float (num flotantes -> decimales). 0.5; tamaño: 4B
  • double (num flotante de doble precisión). 0.65; tamaño: 8B
  • char (Cáracter ASCII). ‘A’ o 65; tamaño: 1B

En los cursos de C, se hacia énfasis en utilizar los tipos de datos adecuados, ya que no podría funcionar nuestro programa de manera adecuada. Por ejemplo si tenemos alguna función que retorna un valor mayor al tipo de dato que definimos, el resultado sería erróneo.

Float y Double son tipos de datos que representan números decimales. La diferencia clave radica en la precisión con la que almacenan estos números. - **Float**: Utiliza 4 bytes (32 bits) y proporciona una precisión de aproximadamente 7 dígitos decimales. - **Double**: Utiliza 8 bytes (64 bits) y ofrece una precisión de aproximadamente 15-16 dígitos decimales. La "doble precisión" se refiere a que Double puede manejar números más grandes y con más exactitud que Float, lo que es crucial en cálculos que requieren alta precisión, como en ciertas aplicaciones científicas o financieras.
Al correr la línea de código ***cout<\<sizeof(bool);*** Aroja como respuesta que el booleano tiene un tamaño de 1 byte.

tipo de dato float
ChatGPT
En C++, el tipo de dato float se utiliza para representar números de punto flotante de precisión simple. Este tipo de dato ocupa normalmente 4 bytes en la mayoría de las implementaciones.

El tipo de dato float se utiliza para almacenar números con decimales, aunque su precisión es limitada en comparación con el tipo de dato double. Los valores de tipo float pueden contener hasta aproximadamente 7 dígitos significativos.

Aquí tienes un ejemplo de cómo se utiliza el tipo de dato float en C++:

cpp
Copy code
float altura = 1.75f;
En este ejemplo, declaramos una variable llamada altura de tipo float y le asignamos el valor 1.75. Es importante agregar el sufijo f al valor literal 1.75 para indicar que se trata de un número de tipo float.

Puedes realizar operaciones aritméticas con variables de tipo float, como suma, resta, multiplicación y división. Por ejemplo:

cpp
Copy code
float a = 3.14f;
float b = 2.5f;

float suma = a + b;
float resta = a - b;
float multiplicacion = a * b;
float division = a / b;
En este caso, realizamos diferentes operaciones aritméticas utilizando las variables a y b, que son de tipo float. Los resultados también serán de tipo float.

Es importante tener en cuenta que debido a la representación limitada de los números de punto flotante, los cálculos con float pueden tener errores de precisión acumulativa. Si necesitas mayor precisión, puedes considerar utilizar el tipo de dato double, que ofrece una precisión mayor a costa de ocupar más memoria (generalmente 8 bytes).

Recuerda que, al imprimir valores de tipo float en la consola, es recomendable utilizar std::cout con formato adecuado para mostrar la cantidad de dígitos decimales deseados:

cpp
Copy code
std::cout << "El valor de la altura es: " << std::fixed << std::setprecision(2) << altura << std::endl;
En este caso, utilizamos std::fixed y std::setprecision(2) para mostrar la altura con 2 dígitos decimales después del punto decimal.

En C++, el tipo de dato bool se utiliza para representar valores booleanos, es decir, valores que pueden ser true o false. Es un tipo de dato fundamental en la programación y se utiliza ampliamente en la toma de decisiones y en las expresiones lógicas.

Aquí tienes algunos ejemplos de cómo se utiliza el tipo de dato bool en C++:

cpp
Copy code
bool esVerdadero = true;
bool esFalso = false;

if (esVerdadero) {
std::cout << “La variable esVerdadero es verdadera.” << std::endl;
} else {
std::cout << “La variable esVerdadero es falsa.” << std::endl;
}

if (esFalso) {
std::cout << “La variable esFalso es verdadera.” << std::endl;
} else {
std::cout << “La variable esFalso es falsa.” << std::endl;
}
En este ejemplo, declaramos dos variables esVerdadero y esFalso de tipo bool. La variable esVerdadero se inicializa con el valor true, mientras que la variable esFalso se inicializa con el valor false.

Luego, utilizamos una estructura condicional if para comprobar si las variables son verdaderas o falsas y mostrar mensajes en consecuencia.

Cabe destacar que los valores booleanos true y false se interpretan como 1 y 0, respectivamente. Por lo tanto, también puedes realizar operaciones aritméticas y lógicas con variables de tipo bool:

cpp
Copy code
bool a = true;
bool b = false;

bool resultadoAnd = a && b; // Operador lógico AND (y)
bool resultadoOr = a || b; // Operador lógico OR (o)
bool resultadoNot = !a; // Operador lógico NOT (no)

std::cout << "Resultado AND: " << resultadoAnd << std::endl; // Imprime 0 (false)
std::cout << "Resultado OR: " << resultadoOr << std::endl; // Imprime 1 (true)
std::cout << "Resultado NOT: " << resultadoNot << std::endl; // Imprime 0 (false)
En este caso, realizamos operaciones lógicas utilizando los operadores && (AND), || (OR) y ! (NOT) con las variables booleanas a y b. El resultado de estas operaciones también será un valor booleano.

El tipo de dato bool es muy útil para tomar decisiones en base a condiciones y para controlar el flujo de ejecución en un programa.

float: Número de punto flotante de precisión simple que ocupa 4 bytes.
double: Número de punto flotante de precisión doble que ocupa generalmente 8 bytes.
long double: Número de punto flotante de mayor precisión que double, ocupa generalmente 8 bytes o más.
Tipo de dato carácter:

char: Carácter individual que ocupa 1 byte.
char16_t, char32_t: Caracteres unicode de 2 bytes y 4 bytes respectivamente.
wchar_t: Carácter de amplio rango que ocupa generalmente 2 o 4 bytes.
Tipo de dato booleano:

bool: Representa un valor booleano, puede ser true o false.
Tipos de datos compuestos:

struct: Permite crear estructuras que pueden contener múltiples variables de diferentes tipos.
class: Permite crear clases, que son estructuras con funcionalidades y métodos adicionales.
enum: Permite definir enumeraciones, que son conjuntos de constantes con nombres.
union: Permite almacenar diferentes tipos de datos en una misma área de memoria.
Estos son solo algunos de los tipos de datos básicos en C++. Además, puedes usar modificadores como signed y unsigned para cambiar la naturaleza del signo de los enteros, así como const para crear variables constantes que no pueden cambiar su valor.

C++ también permite la definición de tipos de datos personalizados mediante el uso de estructuras, clases y plantillas. Estos te permiten crear tus propios tipos de datos con atributos y métodos personalizados.

Recuerda que los tamaños y rangos de los tipos de datos pueden variar dependiendo de la plataforma y el compilador utilizado.

Tipos de datos enteros:

int: Entero con signo que ocupa generalmente 4 bytes.
short: Entero con signo que ocupa generalmente 2 bytes.
long: Entero con signo que ocupa generalmente 4 bytes o más.
long long: Entero con signo que ocupa generalmente 8 bytes.
unsigned int, unsigned short, unsigned long, unsigned long long: Versiones sin signo de los enteros anteriores.
Tipo de dato de punto flotante:

El tamaño de un Bool es de 1 Byte, no de 4 Bytes


Tipos de datos en C++


Datos primitivos

.
Los tipos de dato primitivo o elementales son aquellos tipos de datos originales de un lenguaje de programación, es decir, aquellos que nos proporciona dicho lenguaje.
.

Tipo Descripción Tamaño Rango
bool Dato de tipo lógico 1 byte 0 o 1 (verdadero o falso)
char Carácter o entero pequeño 1 byte signed: -128 a 127 <br> unsigned: 0 a 255
short Entero corto 2 bytes signed: -32,768 a 32,767 <br> unsigned: 0 a 65,535
int Entero 4 bytes signed:-2,147’483,648 a 2,147’483,647 <br> unsigned: 0 a 4,294’967,295
long Entero largo 4 bytes signed:-2,147’483,648 a 2,147’483,647 <br> unsigned: 0 a 4,294’967,295
float Número de punto flotante 4 bytes 3.4E-38 a 3.4E+38 (7 dígitos)
double Número de punto flotante de doble precisión 8 bytes 1.7E-308 a 1.7E+30 (15 dígitos)
long double Long de punto flotande de doble precisión 8 o 10 bytes (según la versión) 1.7E-308 a 1.7E+308 o 3.4E-4932 a 1.1E+4932 (15 dígitos o…)

.
En los tipos de datos númericos tenemos las dos siguientes categorias:
.

  • Signed: Son aquellos que “tienen signo”, es decir, abarcan tanto números positivos como negativos. Estos se declaran de la siguiente manera:
    • int a
    • signed int b

.

  • Unsigned: Son aquellos que “no tienen signo”, es decir, solo consideran los números positivos. Estos se declaran de la siguiente manera:
    • unsigned int a

.


Referencias

Para saber que tamaño tiene tu variable puedes usar la función sizeof()

ejemplo

#include <iostream>

using namespace std;

int main() {
cout << sizeof(1) << endl;
return 0;
}

Tipos de datos

Los tipos de datos son los diferentes datos que podemos usar en una computadora para manipular información. Van desde cadenas hasta numeros.
Datos más usados

  1. bool : Son valores logicos (verdadero o falso), que son almacenados en 4 Bytes. Cabe mencionar que se podría escribir en 1 bit pero se usa todo el tamaño para facilitarle el trabajo al compilador. Ejemplo, true.
  2. int : Son los más usados, los numeros enteros. Son almacenados en 4 Bytes. Si le quitamos el signo a este podriamos almacenar un numero aun más grande. Ejemplo, 100.
  3. float : Se trata de los numeros decimales o numeros de punto flotante. La computadora almancena estos datos por medio de los exponentes tranformando a notación cientifica. Pueden tener un tamaño de 4 Bytes. Ejemplo, 0.5.
  4. double : Numero decimal pero con mayor precision. Tamaño de 8 Bytes. Ejemplo, 0.5.
  5. char : Se trata de los caracteres de la tabla ASCII, es decir, posee valor y su equivalente numerico, el cual es un estandar para las computadoras. Tiene un tamaño de 1 Byte. Ejemplo, ‘A’ o 65
#include <iostream>
//using namespace std;
using std::cout;
using std::endl;

int main(){
    cout<<"Hello World :D\n";
    int boolean = false;
    cout<< boolean << endl;

    int number1 = 170/8; //respuesta 21.25 pero solo toma la parte entera que es 21
    cout << number1 << endl;

    float number2 = 5.23;
    cout << number2 <<endl;

    double number3 = 44.5691093;
    cout << number3 <<endl;

    char letra = 'R'; //Funciona con letras minusculas y mayusculas
    cout << letra <<endl;

    cout<<"Bye World :D \nBy Rosa Palacios";
}

TABLA ASCII