Kompilierzeit-Rationalarithmetik (seit C++11)
Von cppreference.com
Die Klassenschablone std::ratio und zugehörige Schablonen bieten Unterstützung für die Kompilierzeit-Rationalarithmetik. Jede Instanziierung dieser Schablone stellt exakt eine endliche rationale Zahl dar.
[edit] Kompilierzeit-Brüche
| Definiert in Header
<ratio> | |
| (C++11) |
repräsentiert exakten rationalen Bruch (Klassenschablone) |
Die folgenden Komfort-Typaliase, die den SI-Verhältnissen entsprechen, werden von der Standardbibliothek bereitgestellt.
| Definiert in Header
<ratio> | |
| Typ | Definition |
quecto (seit C++26) |
std::ratio<1, 1000000000000000000000000000000> (10-30)[1] |
ronto (seit C++26) |
std::ratio<1, 1000000000000000000000000000> (10-27)[1] |
yocto (seit C++11) |
std::ratio<1, 1000000000000000000000000> (10-24)[1] |
zepto (seit C++11) |
std::ratio<1, 1000000000000000000000> (10-21)[1] |
atto (seit C++11) |
std::ratio<1, 1000000000000000000> (10-18) |
femto (seit C++11) |
std::ratio<1, 1000000000000000> (10-15) |
pico (seit C++11) |
std::ratio<1, 1000000000000> (10-12) |
nano (seit C++11) |
std::ratio<1, 1000000000> (10-9) |
micro (seit C++11) |
std::ratio<1, 1000000> (10-6) |
milli (seit C++11) |
std::ratio<1, 1000> (10-3) |
centi (seit C++11) |
std::ratio<1, 100> (10-2) |
deci (seit C++11) |
std::ratio<1, 10> (10-1) |
deca (seit C++11) |
std::ratio<10, 1> (101) |
hecto (seit C++11) |
std::ratio<100, 1> (102) |
kilo (seit C++11) |
std::ratio<1000, 1> (103) |
mega (seit C++11) |
std::ratio<1000000, 1> (106) |
giga (seit C++11) |
std::ratio<1000000000, 1> (109) |
tera (seit C++11) |
std::ratio<1000000000000, 1> (1012) |
peta (seit C++11) |
std::ratio<1000000000000000, 1> (1015) |
exa (seit C++11) |
std::ratio<1000000000000000000, 1> (1018) |
zetta (seit C++11) |
std::ratio<1000000000000000000000, 1> (1021)[2] |
yotta (seit C++11) |
std::ratio<1000000000000000000000000, 1> (1024)[2] |
ronna (seit C++26) |
std::ratio<1000000000000000000000000000, 1> (1027)[2] |
quetta (seit C++26) |
std::ratio<1000000000000000000000000000000, 1> (1030)[2] |
- ↑ 1.0 1.1 1.2 1.3 Diese Typaliase werden nur deklariert, wenn std::intmax_t den Nenner darstellen kann.
- ↑ 2.0 2.1 2.2 2.3 Diese Typaliase werden nur deklariert, wenn std::intmax_t den Zähler darstellen kann.
[edit] Kompilierzeit-Rationalarithmetik
Mehrere Alias-Schablonen, die arithmetische Operationen auf ratio-Objekten zur Kompilierzeit durchführen, werden bereitgestellt.
| Definiert in Header
<ratio> | |
| (C++11) |
addiert zwei ratio-Objekte zur Kompilierzeit(Alias-Schablone) |
| (C++11) |
subtrahiert zwei ratio-Objekte zur Kompilierzeit(Alias-Schablone) |
| (C++11) |
multipliziert zwei ratio-Objekte zur Kompilierzeit(Alias-Schablone) |
| (C++11) |
teilt zwei ratio-Objekte zur Kompilierzeit(Alias-Schablone) |
[edit] Kompilierzeit-Rationalvergleich
Mehrere Klassenschablonen, die Vergleichsoperationen auf ratio-Objekten zur Kompilierzeit durchführen, werden bereitgestellt.
| Definiert in Header
<ratio> | |
| (C++11) |
vergleicht zwei ratio-Objekte auf Gleichheit zur Kompilierzeit(Klassenschablone) |
| (C++11) |
vergleicht zwei ratio-Objekte auf Ungleichheit zur Kompilierzeit(Klassenschablone) |
| (C++11) |
vergleicht zwei ratio-Objekte auf kleiner als zur Kompilierzeit(Klassenschablone) |
| (C++11) |
vergleicht zwei ratio-Objekte auf kleiner oder gleich zur Kompilierzeit(Klassenschablone) |
| (C++11) |
vergleicht zwei ratio-Objekte auf größer als zur Kompilierzeit(Klassenschablone) |
| (C++11) |
vergleicht zwei ratio-Objekte auf größer oder gleich zur Kompilierzeit(Klassenschablone) |