1
Amy 原创整理|资料核验:2026-11-04
NumPy官方文档定义frexp返回两项:mantissa与exponent,满足x = mantissa × 2**exponent。第二项是2的整数指数,不能按平常十进制科学记数法理解。
教学示例(Amy自拟):对12.0分解,结果是0.75和4,因为0.75×16=12;对-12.0,尾数变成-0.75,指数仍为4。对0.125,结果为0.5和-2,因为0.5×0.25=0.125。指数为负并不表示原数为负。
可以写m, e = np.frexp([12.0, -12.0, 0.125]),再用np.ldexp(m, e)还原。官方将ldexp列为对应的逆运算,也明确frexp不支持复数类型。
Amy建议:调试数值量级时把m、e和原值并排输出,先核对2的幂这个底数。此分解用于表示数值,不是四舍五入,也不会增加原数据精度。本文是接口学习说明,未把教学数组当作实测数据。
官方来源:
https://numpy.org/doc/stable/reference/generated/numpy.frexp.html