标准库标头 <ratio>
来自cppreference.com
此头文件是编译时有理数算术库的一部分。
类 | ||
(C++11) | 表示精确的有理分数 (类模板) | |
算术 | ||
(C++11) | 在编译时相加两个 ratio 对象 (别名模板) | |
(C++11) | 在编译时相减两个 ratio 对象 (别名模板) | |
(C++11) | 在编译时相乘两个 ratio 对象 (别名模板) | |
(C++11) | 在编译时相除两个 ratio 对象 (别名模板) | |
比较 | ||
(C++11) | 在编译时比较两个 ratio 对象的相等性 (类模板) | |
(C++11) | 在编译时比较两个 ratio 对象的不相等性 (类模板) | |
(C++11) | 在编译时比较两个 ratio 对象的小于关系 (类模板) | |
(C++11) | 在编译时比较两个 ratio 对象的小于或等于关系 (类模板) | |
(C++11) | 在编译时比较两个 ratio 对象的大于关系 (类模板) | |
(C++11) | 在编译时比较两个 ratio 对象的大于或等于关系 (类模板) |
类型别名 | |
quecto (C++26) | std::ratio<1, 1000000000000000000000000000000>,若 std::intmax_t 能表示分母 |
ronto (C++26) | std::ratio<1, 1000000000000000000000000000>,若 std::intmax_t 能表示分母 |
yocto | std::ratio<1, 1000000000000000000000000>,若 std::intmax_t 能表示分母 |
zepto | std::ratio<1, 1000000000000000000000>,若 std::intmax_t 能表示分母 |
atto | std::ratio<1, 1000000000000000000> |
femto | std::ratio<1, 1000000000000000> |
pico | std::ratio<1, 1000000000000> |
nano | std::ratio<1, 1000000000> |
micro | std::ratio<1, 1000000> |
milli | std::ratio<1, 1000> |
centi | std::ratio<1, 100> |
deci | std::ratio<1, 10> |
deca | std::ratio<10, 1> |
hecto | std::ratio<100, 1> |
kilo | std::ratio<1000, 1> |
mega | std::ratio<1000000, 1> |
giga | std::ratio<1000000000, 1> |
tera | std::ratio<1000000000000, 1> |
peta | std::ratio<1000000000000000, 1> |
exa | std::ratio<1000000000000000000, 1> |
zetta | std::ratio<1000000000000000000000, 1>,若 std::intmax_t 能表示分子 |
yotta | std::ratio<1000000000000000000000000, 1>,若 std::intmax_t 能表示分子 |
ronna (C++26) | std::ratio<1000000000000000000000000000, 1>,若 std::intmax_t 能表示分子 |
quetta (C++26) | std::ratio<1000000000000000000000000000000, 1>,若 std::intmax_t 能表示分子 |
[编辑]概要
namespace std {// 类模板 ratiotemplate<intmax_t N, intmax_t D =1>class ratio {public:typedef ratio<num, den> type;staticconstexpr intmax_t num;staticconstexpr intmax_t den;}; // ratio 算术template<class R1, class R2>using ratio_add =/*ratio*/;template<class R1, class R2>using ratio_subtract =/*ratio*/;template<class R1, class R2>using ratio_multiply =/*ratio*/;template<class R1, class R2>using ratio_divide =/*ratio*/; // ratio 比较template<class R1, class R2>struct ratio_equal;template<class R1, class R2>struct ratio_not_equal;template<class R1, class R2>struct ratio_less;template<class R1, class R2>struct ratio_less_equal;template<class R1, class R2>struct ratio_greater;template<class R1, class R2>struct ratio_greater_equal; // 便利 SI typedeftypedef ratio<1, 1000000000000000000000000000000> quecto;typedef ratio<1, 1000000000000000000000000000> ronto;typedef ratio<1, 1000000000000000000000000> yocto;typedef ratio<1, 1000000000000000000000> zepto;typedef ratio<1, 1000000000000000000> atto;typedef ratio<1, 1000000000000000> femto;typedef ratio<1, 1000000000000> pico;typedef ratio<1, 1000000000> nano;typedef ratio<1, 1000000> micro;typedef ratio<1, 1000> milli;typedef ratio<1, 100> centi;typedef ratio<1, 10> deci;typedef ratio<10, 1> deca;typedef ratio<100, 1> hecto;typedef ratio<1000, 1> kilo;typedef ratio<1000000, 1> mega;typedef ratio<1000000000, 1> giga;typedef ratio<1000000000000, 1> tera;typedef ratio<1000000000000000, 1> peta;typedef ratio<1000000000000000000, 1> exa;typedef ratio<1000000000000000000000, 1> zetta;typedef ratio<1000000000000000000000000, 1> yotta;typedef ratio<1000000000000000000000000000, 1> ronna;typedef ratio<1000000000000000000000000000000, 1> quetta;}