9、饱和算术

饱和算术

可以通过saturating_方法实现饱和算术

这同样也是处理溢出的一种特殊的方式

相比于warpping around,saturaing arithmetic在溢出时会返回该整型类型的最大值或最小值作为结果,比如

let x = 255u8;
let y = 1u8;
let sum = x.saturating_add(y);
assert_eq!(sum, 255);

因为u8类型的范围是0~255,所以255+1=256>255,超过了该类型的最大值,直接按照该类型的最大值作为运算的结果

相对应的,如果是0-1<0,同样也是这种情况,它会按照该类型的最小值作为运算的结果

有一点值得注意,我们无法通过设置overflow-checks的方式来设置算术运算是否要采取饱和算术的方式,这个功能只能通过saturating单独指定

练习

这一节的习题还是,改写一下阶乘,没有什么太难的地方

image-20250831072036009

这一节的学习就先到这了

阅读剩余
THE END