lenguaje - ¿Qué es 1LL o 2LL en C y C++?
lenguaje c++ ejemplos (1)
El LL hace que el literal entero del tipo long long .
Así que 2LL , es un 2 de tipo long long .
Sin el LL , el literal solo sería de tipo int .
Esto importa cuando haces cosas como esta:
1 << 40
1LL << 40
Con solo el literal 1 , (suponiendo que int sea de 32 bits, se desplaza más allá del tamaño del tipo de entero -> comportamiento indefinido). Con 1LL , establece el tipo en long long antes y ahora devolverá correctamente 2 ^ 40.
Estaba buscando algunas de las soluciones en Google Code Jam y algunas personas usaron cosas que nunca antes había visto. Por ejemplo,
2LL*r+1LL
¿Qué significa 2LL y 1LL?
Sus incluyen se ven así:
#include <math.h>
#include <algorithm>
#define _USE_MATH_DEFINES
o
#include <cmath>