¿Cuál es la diferencia entre int y double cuando se define en c++?
int y double son tipos de datos básicos, int es un número entero y double es un tipo de punto flotante.
1. El espacio de almacenamiento ocupado por variables de tipo int es tan grande como la palabra de la máquina, es decir, 4 bytes en sistemas de 32 bits y 8 bytes en sistemas de 64 bits;
> Las variables de tipo doble generalmente ocupan 8 bytes y el espacio de almacenamiento ocupado por las variables de tipo doble no será menor que el de las variables de tipo int.
2. El rango de valores representado por el tipo doble es mayor que el rango de valores representado por int, y la conversión de valor doble a valor int se redondeará, lo que provocará una pérdida de precisión.
Información ampliada
Un número entero
1. Los números enteros incluyen char, short, int, long y long long. Estos cinco también tienen el signo XX de forma predeterminada;
Reglas: short tiene al menos 16 bits; int es al menos igual que short; long tiene al menos 32 bits y es al menos tan largo como int; long tiene al menos 64 bits y al menos tanto; tanto tiempo.
Entre ellos, los cuatro últimos tienen variantes sin firmar. unsigned?short, unsigned?int, unsigned?long, unsigned?long long.
Tenga en cuenta que unsigned en sí es la abreviatura de unsigned?int.
Como puedes ver, en equipos de 32 y 64 bits, la única diferencia en el tamaño de los enteros es el tamaño de int y del puntero. En equipos de 32 bits, int ocupa 2 bytes, y en equipos de 64. Computadoras de bits, ocupa 4 bytes. El tamaño del puntero es el mismo que el tamaño int.
2.wchar_t
Char es un tipo de carácter de 8 bits y solo puede contener hasta 256 caracteres. Muchos conjuntos de caracteres extranjeros contienen más de 256 caracteres y no pueden representarse mediante char. tipo.
El tipo de datos wchar_t es generalmente de 16 o 32 bits.
En resumen, la cantidad de caracteres que wchar_t puede representar excede con creces el tipo char.
La función wprintf() en C++ estándar y las clases y objetos en la biblioteca de clases iostream pueden proporcionar operaciones relacionadas con el tipo de carácter ancho wchar_t.
3.++11 nuevos tipos: char16_t y char32_t
char16_t: 16 bits sin signo -> prefijo u indica
char32_t: 32 bits sin signo - >El prefijo U indica
Tipo de punto flotante
Hay tres puntos flotantes, flotante, doble, doble largo
Regla: flotante es al menos 4. bytes; double tiene al menos 6 bytes y no menos que float long double es al menos tan largo como double;
Por lo general, el valor flotante es de 32 bits, el doble es de 64 bits y el doble largo es de 80, 96 o 128 bits. Medí doble bit largo 64 en VS2013.
Materiales de referencia
Enciclopedia Baidu-C++
Enciclopedia Baidu-Tipo de datos