Espacios de nombres
Variantes
Acciones

Aritmética racional en tiempo de compilación

De cppreference.com
< cpp‎ | numeric
 
 
Biblioteca de metaprogramación
Rasgos de tipo
Categorías de tipo
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
Propiedades de tipos
(C++11)
(C++11)
(C++14)
(C++11)(en desuso en C++26)
(C++11)(hasta C++20*)
(C++11)(en desuso en C++20)
(C++11)
Constantes de rasgos de tipo
Metafunciones
(C++17)
Operaciones admitidas
Relaciones y consultas de propiedades
Modificaciones de tipos
Transformaciones de tipos
(C++11)(en desuso en C++23)
(C++11)(en desuso en C++23)
(C++11)
(C++11)(hasta C++20*)(C++17)

Aritmética racional en tiempo de compilación
Secuencias de enteros en tiempo de compilación
 
Aritmética racional en tiempo de compilación
(C++11)
Aritmética
(C++11)
Comparación
(C++11)
 

La plantilla de clase std::ratio y las plantillas asociadas proporcionan apoyo para la aritmética racional en tiempo de compilación. Cada instanciación de esta plantilla representa exactamente cualquier número racional finito.

[editar]Fracciones en tiempo de compilación

Definido en el archivo de encabezado <ratio>
(C++11)
Representa una fracción racional exacta.
(plantilla de clase)[editar]

La biblioteca estándar proporciona varias definiciones de tipo convenientes que corresponden a las razones del Sistema Internacional de Unidades (abreviado SI, del francés Système international d'unités):

Definido en el archivo de encabezado <ratio>
Tipo Definición
yoctostd::ratio<1, 1000000000000000000000000>, si std::intmax_t puede representar el denominador
zeptostd::ratio<1, 1000000000000000000000>, si std::intmax_t puede representar el denominador
attostd::ratio<1, 1000000000000000000>
femtostd::ratio<1, 1000000000000000>
picostd::ratio<1, 1000000000000>
nanostd::ratio<1, 1000000000>
microstd::ratio<1, 1000000>
millistd::ratio<1, 1000>
centistd::ratio<1, 100>
decistd::ratio<1, 10>
decastd::ratio<10, 1>
hectostd::ratio<100, 1>
kilostd::ratio<1000, 1>
megastd::ratio<1000000, 1>
gigastd::ratio<1000000000, 1>
terastd::ratio<1000000000000, 1>
petastd::ratio<1000000000000000, 1>
exastd::ratio<1000000000000000000, 1>
zettastd::ratio<1000000000000000000000, 1>, si std::intmax_t puede representar el numerador
yottastd::ratio<1000000000000000000000000, 1>, si std::intmax_t puede representar el numerador

[editar]Artimética racional en tiempo de compilación

Se proporcionan varias plantillas de alias que realizan operaciones aritméticas en objetos ratio en tiempo de compilación.

Definido en el archivo de encabezado <ratio>
(C++11)
Agrega dos objetos ratio en tiempo de compilación.
(plantilla de alias)[editar]
Resta dos objetos ratio en tiempo de compilación.
(plantilla de alias)[editar]
Multiplica dos objetos ratio en tiempo de compilación.
(plantilla de alias)[editar]
divide dos objetos ratio en tiempo de compilación.
(plantilla de alias)[editar]

[editar]Comparación racional en tiempo de compilación

Se proporcionan varias plantillas de clase que realizan operaciones de comparación en objetos ratio en tiempo de compilación.

Definido en el archivo de encabezado <ratio>
Compara la igualdad de dos objetos ratio en tiempo de compilación.
(plantilla de clase)[editar]
Compara la desigualdad de dos objetos ratio en tiempo de compilación.
(plantilla de clase)[editar]
(C++11)
Compara dos objetos ratio para menor que en tiempo de compilación.
(plantilla de clase)[editar]
Compara dos objetos ratio para menor o igual que en tiempo de compilación.
(plantilla de clase)[editar]
Compara dos objetos ratio para mayor que en tiempo de compilación.
(plantilla de clase)[editar]
Compara dos objetos ratio para mayor o igual que en tiempo de compilación.
(plantilla de clase)[editar]
close