计算机中浮点数的存储

1.浮点数

浮点数(floating point)这个名字其实就来自于:"小数点可以浮动(移动)"。

double类型的最大有效位数为16位。"有效位数(significant digits)" 指的是数字中能被精确区分的位数。

指数位的308是怎么算的?

指数位是 11 位,即共有:

复制代码
2¹¹ = 2048 种可能取值(0 ~ 2047)

其中:

  • 全 0(0)用于表示 "非规格化数(denormalized number)"

  • 全 1(2047)用于表示 "无穷大(∞)或 NaN"

  • 其它(1 ~ 2046)才是真正的指数范围

IEEE 754 使用一个"偏移量(bias)"来存储指数:

复制代码
真实指数 = 存储的指数值 - 1023

那么,
最小有效指数值 = 1 - 1023 = -1022
最大有效指数值 = 2046 - 1023 = +1023

那么2^1023 约等于 10^308次方。

"308" 是由 double 的 11 位指数表示范围(−1022 到 +1023)转换成 10 的指数得出的近似范围。

2.指数和尾数

复制代码
1.23 × 10²   = 123
1.23 × 10⁵   = 123000
1.23 × 10⁻³  = 0.00123

"1.23" 这部分对应 尾数位

"10² / 10⁵ / 10⁻³" 这部分对应 指数位

相关推荐
灵感__idea4 小时前
《AI工程》:为什么需要RAG和智能体?
aigc·openai·ai编程
kyriewen6 小时前
Anthropic 估值逼近万亿美元,Claude Sonnet 5 + Claude Science 一天两连发
前端·ai编程·claude
donecoding9 小时前
Claude Code 远程连接的坑之「以为是 1M 上下文,它却偷偷给我用了 200k」
ai编程
ytAnck10 小时前
傻傻分不清OpenAI 与 Anthropic 接口协议差异
openai·ai编程
妙码生花10 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
小白鼠幻想家10 小时前
Devin:从"取代你的AI程序员"到"AI不会取代人类"——这家CEO的嘴,比AI还快
ai编程
AlbertZein11 小时前
从“看图说话”到“动手干活”:看看国产多模态模型在生产场景下的真实表现
aigc·openai·ai编程
JavaGuide12 小时前
推荐 3 个 Vibe Coding 中文开源教程,从入门到实战
ai编程·vibecoding
plainGeekDev12 小时前
别再说 Claude Code 上下文不够用了,是你没管好
aigc·ai编程
牛奶12 小时前
AI 能赚钱了——但赚的不是你
人工智能·ai编程·nvidia