计算机中浮点数的存储

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⁻³" 这部分对应 指数位

相关推荐
北鸟南游17 小时前
Claude Code使用技巧-为Claude Code接入国产大模型
ai·ai编程·visual studio code
心易行者21 小时前
AI编程小白入门:5分钟打造可变现应用(附工具+提示词+部署指南)
ai编程
你知道“铁甲小宝”吗丶1 天前
VSCode使用Claude Code
vscode·ai·ai编程
Ftsom1 天前
【6】kilo 上下文管理与压缩机制
人工智能·agent·ai编程·kilo
Testopia1 天前
AI编程实例 - 基于时间序列分析的工厂设备预测性维护
人工智能·ai编程·#人工智能学习·#时间序列分析
测试_AI_一辰1 天前
Agent & RAG 测试工程 03:第一次为 RAG 写回归测试:防幻觉、保一致、守底线
人工智能·笔记·功能测试·测试用例·ai编程
你知道“铁甲小宝”吗丶2 天前
VSCode使用Claude Code(MCP服务)
vscode·ai·ai编程
hxcat2 天前
AI编程效率提升指南:everything-claude-code开源配置方案
ai编程
莫问前路漫漫2 天前
WinMerge v2.16.41 中文绿色版深度解析:文件对比与合并的全能工具
java·开发语言·python·jdk·ai编程
嵌入式郑工2 天前
如何用CLAUDECODE重塑嵌入式开发
嵌入式硬件·ai·ai编程