Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Schließen Sie das Standardkopfzeilen-Verhältnis ein <>, von Konstanten und Vorlagen zu definieren, die verwendet werden, um rationale Zahlen zur Kompilierungszeit zu speichern und zu bearbeiten.
#include <ratio>
Verhältnis Struktur
template <intmax_t N, intmax_t D = 1>
struct ratio
{
static constexpr intmax_t num;
static constexpr intmax_t den;
typedef ratio<num, den> type;
};
ratio Structure definiert die statischen Konstanten num und den so, dass num / den /== N D und num und den keine allgemeingültigen Faktoren haben. num / den ist value, das durch die Vorlagenklasse dargestellt wird. Daher wird type die Instanziierung ratio<N0, D0> fest, für die num == N0 und den D0 ==.
Spezialisierungen
<Verhältnis> definiert auch Spezialisierungen von ratio, die das folgende Formular verfügen.
template <class R1, class R2> struct ratio_specialization
Jede Spezialisierung akzeptiert zwei Vorlagenparameter, die Spezialisierungen von ratio auch sein müssen. Der Wert type wird durch eine zugeordnete logische Operation bestimmt.
Name |
type-Wert |
---|---|
ratio_add |
R1 + R2 |
ratio_divide |
R1 / R2 |
ratio_equal |
R1 == R2 |
ratio_greater |
R1 > R2 |
ratio_greater_equal |
R1 >= R2 |
ratio_less |
R1 < R2 |
ratio_less_equal |
R1 <= R2 |
ratio_multiply |
R1 * R2 |
ratio_not_equal |
!(R1 == R2) |
ratio_subtract |
R1 - R2 |
Typdefinitionen
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;