Herramientas de usuario

Herramientas del sitio


curso-cpp:mas-tipos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
curso-cpp:mas-tipos [2017/11/26 22:25]
santo [Tipo de un literal entero]
curso-cpp:mas-tipos [2017/11/26 22:39] (actual)
guty [Tipo de un literal entero]
Línea 53: Línea 53:
 Similar problema tendremos si hacemos ''​long long x = y + z'',​ siendo tanto ''​y''​ como ''​z''​ variables de tipo ''​int''​. Podemos solucionarlo **convirtiendo** una de ellas a ''​long long'':​ ''​long long x = y + (long long)(z)'',​ de forma análoga a lo que hacíamos con el ''​LL''​ para los literales enteros. Similar problema tendremos si hacemos ''​long long x = y + z'',​ siendo tanto ''​y''​ como ''​z''​ variables de tipo ''​int''​. Podemos solucionarlo **convirtiendo** una de ellas a ''​long long'':​ ''​long long x = y + (long long)(z)'',​ de forma análoga a lo que hacíamos con el ''​LL''​ para los literales enteros.
  
-**El caso más común** donde esto ocurre es en la expresión: ''​1 << i''​ (que es común si se trabaja con [[cpp-avanzado:​bitmask|máscaras]] u [[cpp-avanzado:​operaciones-de-bits|operaciones de bits]] con números de 64 bits): El resultado de esta operación será de tipo ''​int'',​ que no es lo que queremos si estamos trabajando valores de 64 bits. ''​1LL << i''​ resuelve por completo este problema.+**El caso más común** donde esto ocurre es en la expresión: ''​1 << i''​ (que es común si se trabaja con [[cpp-avanzado:​operaciones-de-bits|operaciones de bits]] con números de 64 bits): El resultado de esta operación será de tipo ''​int'',​ que no es lo que queremos si estamos trabajando valores de 64 bits. ''​1LL << i''​ resuelve por completo este problema.
  
 ===== Reglas prácticas para el manejo de tipos enteros ===== ===== Reglas prácticas para el manejo de tipos enteros =====
curso-cpp/mas-tipos.1511735122.txt.gz · Última modificación: 2017/11/26 22:25 por santo