首先,请允许我承认我是一位经验丰富的程序员,拥有超过 10 年的编程经验。但是,我在这里要问的问题是,从那时起我就一直困扰着我,大约十年前我第一次拿起一本关于 C 的书。
下面是一本关于 Python 的书的摘录,解释了 Python 的浮点类型。
浮点数使用机器上浮点数的本机双精度(64 位)表示来表示。通常这是 IEEE 754,它提供大约 17 位精度和一个在 –308 到 308 范围内的指数。这与 C 中的 double 类型相同。
我一直不明白的是这句话的意思
" ... 提供大约 17 位精度和 –308 到 308 范围内的指数 ..."
我的直觉在这里误入歧途,因为我可以理解精度的含义,但是范围与此有何不同。我的意思是,如果一个浮点数可以表示最多 17 位的值(即最大值为 1,000,000,000,000,000,00 - 1),那么指数怎么可能是 +308。如果指数是 10,那不会是 308 位数字,如果指数是 2,那不是一个粗略的 100 位数字。
我希望,我能够表达我的困惑。
问候 Vaid,阿布舍克