Buscar..


Separador de dígitos

Los literales numéricos de más de unos pocos dígitos son difíciles de leer.

  • Pronuncia 7237498123.
  • Compare 237498123 con 237499123 para la igualdad.
  • Decida si 237499123 o 20249472 es más grande.

C++14 define la comilla simple ' como separador de dígitos, en números y literales definidos por el usuario. Esto puede hacer que sea más fácil para los lectores humanos analizar grandes números.

C ++ 14
long long decn = 1'000'000'000ll;
long long hexn = 0xFFFF'FFFFll; 
long long octn = 00'23'00ll;
long long binn = 0b1010'0011ll;

Las comillas simples se ignoran al determinar su valor.

Ejemplo:

  • Los literales 1048576 , 1'048'576 , 0X100000 , 0x10'0000 y 0'004'000'000 tienen el mismo valor.
  • Los literales 1.602'176'565e-19 y 1.602176565e-19 tienen el mismo valor.

La posición de las comillas simples es irrelevante. Todos los siguientes son equivalentes:

C ++ 14
long long a1 = 123456789ll;
long long a2 = 123'456'789ll; 
long long a3 = 12'34'56'78'9ll;
long long a4 = 12345'6789ll;

También está permitido en literales user-defined :

C ++ 14
std::chrono::seconds tiempo = 1'674'456s + 5'300h;


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow