什么位模式表示双精度浮点数的最大值?
What bit pattern represents the max value for double precision floating point?
我想知道最大值如何在64位双精度浮点数中表示。我假设它用指数和尾数中的所有1表示,如下所示:
0 11111111111 1111111111111111111111111111111111111111111111111111
如果是,那么为什么Number.MAX_VALUE = 1.7976931348623157e+308
显示的是308
的指数,而不是11111111111
解码的1024
?位模式不同吗?
308是十进制指数,而double是2的幂。
其次,最大值指数保留给无穷大和NaN。max -1是正则数的最大指数。因此,最大值写成:
01111111 11101111 11111111 11111111 11111111 11111111 11111111 11111111
。0
符号位,2046
为指数值(注意,1023
实际上表示零指数,因此2046
表示1023
的指数),尾数为1 (1.11111(52 times)
是二进制,第一个是隐藏的),即1.11111(52 times)*2^1023
。
转换成十进制是(2-(2^-52))*2^1023
,大约是1.79769313486231*10^308
。
对于double/float格式,您可以在wiki上找到非常精确的信息。
指数是308,因为它是1.7976931x10^308,也就是1x2^1024。
指数为308,因为308是1024 / (log 10 / log 2)
。
请记住,1024是二进制指数,而308是十进制指数。
相关文章:
- 在Javascript数组中查找绝对最大值
- Html5输入属性的默认值,如最小值、最大值、大小等
- 按最大值获取数组索引
- 识别滑块范围的最小值和最大值
- 如何在最大值之前的某个点停止范围滑块
- 访问Highcharts系列的最小/最大值:afterSetExtremes不会激发
- 如何在拖动后获得图表的最小值和最大值放大高图表
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- HTML5范围滑块最小值和最大值
- 如何仅在存在最小值和最大值时才显示错误消息
- 在 JavaScript 事件中添加最小值和最大值
- 从 JavaScript 中的数组中获取最大值和最小值
- 获取整数对象属性名称的最小值和最大值
- 高图表 - 在缩放重置中设置最大值和最小值
- Java 脚本 设置日期的最小值和最大值属性
- 使用javascript动态更改select中的最大值
- 如何设置jQuery微调器的最大值和最小值
- 使用小数位数和精度计算小数的最大值
- 什么位模式表示双精度浮点数的最大值?
- 检查给定的值是正数还是小数最多两位的浮点数