简介

饱和数学超级函数帮助您对整数执行饱和数学运算。在饱和数学中,最终结果是有界的。如果正常数学运算的结果超出最小值或最大值边界,则相应的饱和数学运算的结果将被限制在该边界。例如,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 处饱和而不是溢出。

必需参数
名称类型描述
xINT要添加到 y 的整数
yINT要添加到 x 的整数
返回值
类型描述
saturating_addINTx + y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。
saturating_add_pos(
x INT,
y INT
) RETURNS INT

saturating_add_pos 函数将两个数字相加,在 0 和 2,147,483,647 处饱和而不是溢出。

必需参数
名称类型描述
xINT要添加到 y 的整数
yINT要添加到 x 的整数
返回值
类型描述
saturating_add_posINTx + y 的结果,在 0 处饱和作为下限。
saturating_mul(
x INT,
y INT
) RETURNS INT

saturating_mul 函数将两个数字相乘,在 -2,147,483,648 和 2,147,483,647 处饱和而不是溢出。

必需参数
名称类型描述
xINT要与 y 相乘的整数
yINT要与 x 相乘的整数
返回值
类型描述
saturating_mulINTx * y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。
saturating_sub(
x INT,
y INT
) RETURNS INT

saturating_sub 函数从第一个数字中减去第二个数字,在 -2,147,483,648 和 2,147,483,647 处饱和而不是溢出。

必需参数
名称类型描述
xINT要从中减去的 y 的整数
yINT要从 x 中减去的整数
返回值
类型描述
saturating_addINTx - y 的结果,在数值边界饱和而不是溢出。数值边界是 32 位有符号整数的上限和下限。
saturating_sub_pos(
x INT,
y INT
) RETURNS INT

saturating_sub_pos 从第一个数字中减去第二个数字,在 0 和 2,147,483,647 处饱和而不是溢出。

必需参数
名称类型描述
xINT要从中减去的 y 的整数
yINT要从 x 中减去的整数
返回值
类型描述
saturating_sub_posINTx - y 的结果,在 0 处饱和作为下限。

关键词

在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页