Este team redactor ha estado mucho tiempo buscando para dar solución a tus búsquedas, te regalamos la soluciones así que deseamos resultarte de mucha apoyo.
Definido en el encabezado
|
||
---|---|---|
template<classR1,classR2>using ratio_divide =/* see below */; |
(desde C++11) |
La plantilla de alias std::ratio_divide
denota el resultado de dividir dos fracciones racionales exactas representadas por el std::ratio
especializaciones R1
y R2
.
El resultado es un std::ratio
especialización std::ratio<U, V>
tal que dado Num == R1::num * R2::den
y Denom == R1::den * R2::num
(calculado sin desbordamiento aritmético), U
es std::ratio<Num, Denom>::num
y V
es std::ratio<Num, Denom>::den
.
notas
Si U
o V
no es representable en std::intmax_t
, el programa está mal formado. Si Num
o Denom
no es representable en std::intmax_t
el programa está mal formado a menos que la implementación produzca valores correctos para U
y V
.
La definición anterior requiere que el resultado de std::ratio_divide
estar ya reducido a los términos más bajos; por ejemplo, std::ratio_divide<std::ratio<1, 12>, std::ratio<1, 6>>
es del mismo tipo que std::ratio<1, 2>
.
Ejemplo
#include#include intmain()typedef std::ratio<2,3> two_third;typedef std::ratio<1,6> one_sixth;typedef std::ratio_divide<two_third, one_sixth> r; std::cout <<"2/3 / 1/6 = "<< r::num <<'/'<< r::den <<'n';
Producción:
2/3/1/6=4/1
valoraciones y reseñas
Si te ha sido de ayuda nuestro artículo, nos gustaría que lo compartas con más juniors y nos ayudes a dar difusión a nuestro contenido.