float32和float64最大是到多少,我知道INT边界值2进制16位,转换过来±32767但是float边界值是多少呢?这个不大清楚,刚开始学习
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
>>> sys.int_info
sys.int_info(bits_per_digit=30, sizeof_digit=4)
以下来自官方文档
sys.float_info
一个具名元组,存有浮点型的相关信息。它包含的是关于精度和内部表示的底层信息。这些值与标
准头文件 float.h 中为 C 语言定义的各种浮点常量对应,详情请参阅 1999 ISO/IEC C 标准 [C99]
的 5.2.4.2.2 节,’Characteristics of floating types(浮点型的特性)’。
attribute -- 属性 float.h 宏 说明
epsilon DBL_EPSILON 大于 1.0 的最小值和 1.0 之间的差,表示为浮点数
另请参阅math.ulp()。
dig DBL_DIG 浮点数可以真实表示的最大十进制数字;见下文
mant_dig DBL_MANT_DIG 浮点数精度:radix 基数下的浮点数有效位数
max DBL_MAX 可表示的最大正浮点数(非无穷)
max_exp DBL_MAX_EXP 使得 radix**(e-1) 是可表示的浮点数(非无穷)的
最大整数 e
max_10_exp DBL_MAX_10_EXP 使得 10**e 在可表示的浮点数(非无穷)范围内的最
大整数 e
min DBL_MIN 可表示的最小正 规格化浮点数
使用math.ulp(0.0) 获取可表示的最小正 非规格化
浮点数
min_exp DBL_MIN_EXP 使得 radix**(e-1) 是规格化浮点数的最小整数 e
min_10_exp DBL_MIN_10_EXP 使得 10**e 是规格化浮点数的最小整数 e
radix FLT_RADIX 指数表示法中采用的基数
rounds FLT_ROUNDS 整数常数,表示算术运算中的舍入方式。它反映了解
释器启动时系统的 FLT_ROUNDS 宏的值。关于可能
的值及其含义的说明,请参阅 C99 标准 5.2.4.2.2 节。
关于 sys.float_info.dig 属性的进一步说明。如果 s 是表示十进制数的字符串,而该数最多
有 sys.float_info.dig 位有效数字,则将 s 转换为 float 再转回去将恢复原先相同十进制值的