Namensräume
Varianten
Aktionen

Kompilierzeit-Rationalarithmetik (seit C++11)

Von cppreference.com
< cpp‎ | numeric
 
 
Metaprogrammierungsbibliothek
Typmerkmale
Typkategorien
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
(C++11)
(C++11)
Typeneigenschaften
(C++11)
(C++11)
(C++14)
(C++11)(deprecated in C++26)
(C++11)(bis C++20*)
(C++11)(veraltet in C++20)
(C++11)
Typmerkmalskonstanten
Metafunktionen
(C++17)
Unterstützte Operationen
Beziehungen und Eigenschaftsabfragen
Typmodifikationen
(C++11)(C++11)(C++11)
Typentransformationen
(C++11)(veraltet in C++23)
(C++11)(veraltet in C++23)
(C++11)
(C++11)(bis C++20*)(C++17)

(C++11)
(C++11)
(C++17)
Rationale Arithmetik zur Compilezeit
Ganzzahlsequenzen zur Compilezeit
 
Kompilierzeit-Rationalarithmetik
(C++11)
Arithmetik
(C++11)
Vergleich
(C++11)
 

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) [edit]

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. 1.0 1.1 1.2 1.3 Diese Typaliase werden nur deklariert, wenn std::intmax_t den Nenner darstellen kann.
  2. 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)[edit]
subtrahiert zwei ratio-Objekte zur Kompilierzeit
(Alias-Schablone)[edit]
multipliziert zwei ratio-Objekte zur Kompilierzeit
(Alias-Schablone)[edit]
teilt zwei ratio-Objekte zur Kompilierzeit
(Alias-Schablone)[edit]

[edit] Kompilierzeit-Rationalvergleich

Mehrere Klassenschablonen, die Vergleichsoperationen auf ratio-Objekten zur Kompilierzeit durchführen, werden bereitgestellt.

Definiert in Header <ratio>
vergleicht zwei ratio-Objekte auf Gleichheit zur Kompilierzeit
(Klassenschablone) [edit]
vergleicht zwei ratio-Objekte auf Ungleichheit zur Kompilierzeit
(Klassenschablone) [edit]
vergleicht zwei ratio-Objekte auf kleiner als zur Kompilierzeit
(Klassenschablone) [edit]
vergleicht zwei ratio-Objekte auf kleiner oder gleich zur Kompilierzeit
(Klassenschablone) [edit]
vergleicht zwei ratio-Objekte auf größer als zur Kompilierzeit
(Klassenschablone) [edit]
vergleicht zwei ratio-Objekte auf größer oder gleich zur Kompilierzeit
(Klassenschablone) [edit]