简介
饱和数学超级函数帮助您对整数执行饱和数学运算。在饱和数学中,最终结果是有界的。如果正常数学运算的结果超出最小值或最大值边界,则相应的饱和数学运算的结果将被限制在该边界。例如,2 + (-3) = -1
。但是在下限为 0
的饱和数学函数中,例如 saturating_add_pos
,结果为 0
。
您可以使用饱和数学来确保您的结果不会溢出整数的允许范围,或者强制结果大于或等于零。
警告
此函数组包含一些实验性函数。实验性函数可能会在未来的版本中更改或删除。我们不建议在生产环境中使用它们。实验性函数标有 Experimental 标签。
函数
- saturating_add
- 实验性将两个数字相加,在 32 位整数边界饱和而不是溢出
- saturating_add_pos
- 实验性将两个数字相加,在 0 处饱和作为下限
- saturating_mul
- 实验性将两个数字相乘,在 32 位整数边界饱和而不是溢出
- saturating_sub
- 实验性从一个数字中减去另一个数字,在 32 位整数边界饱和而不是溢出
- saturating_sub_pos
- 实验性从一个数字中减去另一个数字,在 0 处饱和作为下限
saturating_add(x INT,y INT) RETURNS INT
saturating_add
函数将两个数字相加,在 -2,147,483,648 和 2,147,483,647 处饱和而不是溢出。
必需参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要添加到 y 的整数 |
y | INT | 要添加到 x 的整数 |
返回值
列 | 类型 | 描述 |
---|---|---|
saturating_add | INT | x + y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_add_pos(x INT,y INT) RETURNS INT
saturating_add_pos
函数将两个数字相加,在 0 和 2,147,483,647 处饱和而不是溢出。
必需参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要添加到 y 的整数 |
y | INT | 要添加到 x 的整数 |
返回值
列 | 类型 | 描述 |
---|---|---|
saturating_add_pos | INT | x + y 的结果,在 0 处饱和作为下限。 |
saturating_mul(x INT,y INT) RETURNS INT
saturating_mul
函数将两个数字相乘,在 -2,147,483,648 和 2,147,483,647 处饱和而不是溢出。
必需参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要与 y 相乘的整数 |
y | INT | 要与 x 相乘的整数 |
返回值
列 | 类型 | 描述 |
---|---|---|
saturating_mul | INT | x * y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_sub(x INT,y INT) RETURNS INT
saturating_sub
函数从第一个数字中减去第二个数字,在 -2,147,483,648 和 2,147,483,647 处饱和而不是溢出。
必需参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要从中减去的 y 的整数 |
y | INT | 要从 x 中减去的整数 |
返回值
列 | 类型 | 描述 |
---|---|---|
saturating_add | INT | x - y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_sub_pos(x INT,y INT) RETURNS INT
saturating_sub_pos
从第一个数字中减去第二个数字,在 0 和 2,147,483,647 处饱和而不是溢出。
必需参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要从中减去的 y 的整数 |
y | INT | 要从 x 中减去的整数 |
返回值
列 | 类型 | 描述 |
---|---|---|
saturating_sub_pos | INT | x - y 的结果,在 0 处饱和作为下限。 |
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页。