简介

饱和数学超函数可帮助您对整数执行饱和数学运算。在饱和数学中,最终结果是有限制的。如果普通数学运算的结果超过最小或最大边界,则相应饱和数学运算的结果将限制在边界处。例如,2 + (-3) = -1。但在最小边界为0的饱和数学函数中,例如saturating_add_pos,结果为0

您可以使用饱和数学来确保您的结果不会溢出允许的整数范围,或强制结果大于或等于零。

警告

此函数组包括一些实验性函数。实验性函数可能会在将来的版本中更改或删除。我们不建议在生产环境中使用它们。实验性函数标记有实验性标签。

函数

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 处饱和而不是溢出。

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

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

必需参数
名称类型描述
xINTy要从中减去的整数
yINT要从x中减去的整数
返回
类型描述
saturating_sub_posINTx - y的结果,在 0 处饱和作为最小边界。

关键词

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