命名空間
變體
動作

編譯期有理數算術 (自 C++11 起)

出自 cppreference.com
 
 
元程式設計 (Metaprogramming) 函式庫
型別特徵
類型類別
(C++11)
(C++11)(DR*)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11) 
(C++11)
(C++11)
類型屬性
(C++11)
(C++11)
(C++14)
(C++11)(在 C++26 中棄用)
(C++11)(直到 C++20* 為止)
(C++11)(在 C++20 中棄用)
(C++11)
類型特性常數
後設函式
(C++17)
支援的操作
關係與屬性查詢
類型修改
(C++11)(C++11)(C++11)
類型轉換
(C++11)(於 C++23 廢棄)
(C++11)(於 C++23 廢棄)
(C++11)
(C++11)(直到 C++20* 為止)(C++17)

(C++11)
(C++11)
(C++17)
編譯期有理數運算
編譯期整數序列
 
編譯期有理數算術
(C++11)
算術
(C++11)
比較
(C++11)
 

類別模板 std::ratio 及其相關模板提供了編譯期有理數算術支援。該模板的每個實例化都精確地表示任何有限的有理數。

[編輯] 編譯期分數

定義於標頭檔 <ratio>
(C++11)
表示精確的有理分數
(類別模板) [編輯]

標準程式庫提供了以下對應 SI 比率的便利 typedef:

定義於標頭檔 <ratio>
類型 定義
quecto (自 C++26 起) std::ratio<1, 1000000000000000000000000000000> (10-30)[1]
ronto (自 C++26 起) std::ratio<1, 1000000000000000000000000000>    (10-27)[1]
yocto (自 C++11 起) std::ratio<1, 1000000000000000000000000>       (10-24)[1]
zepto (自 C++11 起) std::ratio<1, 1000000000000000000000>          (10-21)[1]
atto (自 C++11 起) std::ratio<1, 1000000000000000000> (10-18)
femto (自 C++11 起) std::ratio<1, 1000000000000000>    (10-15)
pico (自 C++11 起) std::ratio<1, 1000000000000>       (10-12)
nano (自 C++11 起) std::ratio<1, 1000000000>          (10-9)
micro (自 C++11 起) std::ratio<1, 1000000> (10-6)
milli (自 C++11 起) std::ratio<1, 1000>    (10-3)
centi (自 C++11 起) std::ratio<1, 100>     (10-2)
deci (自 C++11 起) std::ratio<1, 10>      (10-1)
deca (自 C++11 起) std::ratio<10, 1>      (101)
hecto (自 C++11 起) std::ratio<100, 1>     (102)
kilo (自 C++11 起) std::ratio<1000, 1>    (103)
mega (自 C++11 起) std::ratio<1000000, 1> (106)
giga (自 C++11 起) std::ratio<1000000000, 1>          (109)
tera (自 C++11 起) std::ratio<1000000000000, 1>       (1012)
peta (自 C++11 起) std::ratio<1000000000000000, 1>    (1015)
exa (自 C++11 起) std::ratio<1000000000000000000, 1> (1018)
zetta (自 C++11 起) std::ratio<1000000000000000000000, 1>          (1021)[2]
yotta (自 C++11 起) std::ratio<1000000000000000000000000, 1>       (1024)[2]
ronna (自 C++26 起) std::ratio<1000000000000000000000000000, 1>    (1027)[2]
quetta (自 C++26 起) std::ratio<1000000000000000000000000000000, 1> (1030)[2]
  1. 1.0 1.1 1.2 1.3 僅當 std::intmax_t 能表示該分母時,才會宣告這些 typedef。
  2. 2.0 2.1 2.2 2.3 僅當 std::intmax_t 能表示該分子時,才會宣告這些 typedef。

[編輯] 編譯期有理數算術

提供了數個別名模板,用於在編譯期對 ratio 物件執行算術運算。

定義於標頭檔 <ratio>
(C++11)
在編譯期將兩個 ratio 物件相加
(別名模板)[編輯]
在編譯期將兩個 ratio 物件相減
(別名模板)[編輯]
在編譯期將兩個 ratio 物件相乘
(別名模板)[編輯]
在編譯期將兩個 ratio 物件相除
(別名模板)[編輯]

[編輯] 編譯期有理數比較

提供了數個類別模板,用於在編譯期對 ratio 物件執行比較運算。

定義於標頭檔 <ratio>
在編譯期比較兩個 ratio 物件是否相等
(類別模板) [編輯]
在編譯期比較兩個 ratio 物件是否不相等
(類別模板) [編輯]
在編譯期比較兩個 ratio 物件是否 小於
(類別模板) [編輯]
在編譯期比較兩個 ratio 物件是否 小於或等於
(類別模板) [編輯]
在編譯期比較兩個 ratio 物件是否 大於
(類別模板) [編輯]
在編譯期比較兩個 ratio 物件是否 大於或等於
(類別模板) [編輯]
English Deutsch 日本語 中文(简体) 中文(繁體)