阶乘的输入
f =阶乘(n)
限制
对于双精度输入,结果是精确的n
是小于还是等于21
.更大的值n
生成一个具有正确数量级的结果,并且对前15位数字是准确的。这是因为双精度数字只能精确到15位。
对于单精度输入,结果是精确的n
是小于还是等于13
.更大的值n
产生一个结果,有正确的数量级,是准确的前8位数字。这是因为单精度数字只能精确到8位。
饱和
属性使用时,下表描述了每种数据类型的饱和行为的阶乘
函数。最后一列的值表示饱和点;即实际阶乘大于中间列中最大可表示值的第一个正整数。为单
和双
,所有大于最大值的值返回为正
.对于整数数据类型,饱和值等于中间列中的最大值。
数据类型 | 最大值 | 阶乘饱和阈值 |
---|---|---|
双 |
最大浮点数 |
阶乘(171) |
单 |
最大浮点数(单) |
阶乘(单(35) |
uint64 |
264-1 | 阶乘(uint64 (21)) |
int64 |
263-1 | 阶乘(int64 (21)) |
uint32 |
232-1 | 阶乘(uint32 (13)) |
int32 |
231-1 | 阶乘(int32 (13)) |
uint16 |
216-1 | 阶乘(uint16 (9)) |
int16 |
215-1 | 阶乘(int16 (8)) |
uint8 |
28-1 | 阶乘(uint8 (6)) |
int8 |
27-1 | 阶乘(int8 (6)) |