std::ratio_multiply
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <ratio>
|
||
template< class R1, class R2 > using ratio_multiply = /* unspecified */; |
||
std::ratio_multiply
шаблон псевдоним означает результат умножения двух точных рациональных дробей представлены std::ratio случаях R1
и R2
. В результате std::ratio например std::ratio<Num, Denom>
где Num == R1::num * R2::num и Denom == R1::den * R2::den.Оригинал:
The template alias
std::ratio_multiply
denotes the result of multiplying two exact rational fractions represented by the std::ratio instances R1
and R2
. The result a std::ratio instance std::ratio<Num, Denom>
where Num == R1::num * R2::num and Denom == R1::den * R2::den.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Типы-члены
Тип члена | Определение |
type
|
std::ratio<num, den> |
[править] Член постоянных
num [static] |
constexpr значение типа std::intmax_t равно sign(Num) * sign(Denom) * abs(Num) / gcd(Num, Denom) Оригинал: Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public static константа-элемент) |
den [static] |
constexpr значение типа std::intmax_t равно abs(Denom) / gcd(Num, Denom) Оригинал: Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (public static константа-элемент) |
[править] Пример
Запустить этот код
#include <iostream> #include <ratio> int main() { typedef std::ratio<2, 3> two_third; typedef std::ratio<1, 6> one_sixth; typedef std::ratio_multiply<two_third, one_sixth> r; std::cout << "2/3 * 1/6 = " << r::num << '/' << r::den << '\n'; }
Вывод:
2/3 * 1/6 = 1/9