Boost C++ 库

...世界上最受尊敬和设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ 编码标准

Next

Boost.Integer

Beman Dawes

Daryle Walker

Gennaro Prota

John Maddock

根据 Boost 软件许可版本 1.0 分发。(请参阅随附文件 LICENSE_1_0.txt 或复制 https://boost.ac.cn/LICENSE_1_0.txt


目录

概述
整数特性
整数类型选择
最大公约数和最小公倍数
扩展欧几里得算法
模乘法逆元
整数掩码
编译时 log2 计算
编译时最小值/最大值计算
历史
从库中删除:标准整数类型

Boost.Integer 提供整数类型支持,尤其在泛型编程中非常有用。它提供了基于其属性(如位数或最大支持值)选择整数类型的方法,以及编译时位掩码选择。它提供了 std::numeric_limits 的一个衍生版本,为 minmax 提供整型常量表达式。最后,它提供了两个编译时算法:确定编译时值中最高的 2 的幂;以及计算常量表达式的最小值和最大值。

组件

头文件

目的

前向声明。

<boost/integer_fwd.hpp>

类和类模板的前向声明 - 用于只需要类的名称时。

整数特性.

<boost/integer_traits.hpp>

类模板 boost::integer_traits,继承自 std::numeric_limits 并添加了 const_minconst_max 成员。

整数类型选择.

<boost/integer.hpp>

基于最大值或位数等属性选择整数类型的模板:当已知某些属性(如最大值或位数)时,用于选择整数类型。对泛型编程很有用。

最大公约数和最小公倍数.

<boost/integer/common_factor_rt.hpp><boost/integer/common_factor_ct.hpp>

函数 gcdlcm 以及函数对象和编译时版本。

整数掩码.

<boost/integer/integer_mask.hpp>

基于位数选择整数掩码(单个或最低组)的模板:当位位置基于编译时变量时,用于选择特定的掩码。对泛型编程很有用。

编译时 log2 计算.

<boost/integer/static_log2.hpp>

用于查找数字中最高 2 的幂的模板:用于根据最大值查找位大小/范围。对泛型编程很有用。

编译时最小值/最大值计算.

<boost/integer/static_min_max.hpp>

用于查找两个数字的极值的模板:用于根据最小值或最大值查找边界。对泛型编程很有用。

扩展欧几里得算法.

<boost/integer/extended_euclidean.hpp>

求解 mx + ny = gcd(x,y) 中的 xy

模乘法逆元.

<boost/integer/mod_inverse.hpp>

给定 am,求解 ax = 1 mod m 中的 x


Next