重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: 浮点数值数据 到底是什么意思 [打印本页]

作者: 郑全    时间: 2026-3-24 17:22
标题: 浮点数值数据 到底是什么意思
本帖最后由 郑全 于 2026-3-24 17:25 编辑

在ORACLE中,对这个概念不强烈,在其他一些数据库,总是看到这个 浮点数 类型,到底这个浮点数 是什么呢?

浮点数值数据”这个名称,核心就藏在 “浮点” 二字里——小数点的位置是“浮动”的,不固定的。
🌰 一句话说清本质它是一种用 “科学计数法”思想 存储实数的方式:
将数字拆成 “有效数字(尾数) + 指数” 两部分,通过调整指数让“小数点”在有效数字中“浮动”,从而用有限的存储空间表示极大或极小的数,但会带来微小的精度误差。


🔍 为什么叫“浮点”?直观例子表格

十进制科学计数法
小数点“浮动”过程
123.45
→ 1.2345 × 10² (小数点左移2位,“浮”到1后面)
0.00123
→ 1.23 × 10⁻³ (小数点右移3位)

在计算机中(二进制):
5.5 存储为 1.011 × 2²(二进制科学计数法)
→ “小数点”位置由指数 2 动态决定,故称“浮点”。


❓ 为什么会有“精度误差”?
💡 在数据库中意味着什么?当你在表中定义:

price FLOAT;  -- 或 DOUBLE, REAL


一句话分清关键概念表格

类型
小数点位置
精度
典型用途
浮点数
浮动(由指数决定)
近似(有误差)
科学计算、物理量
定点数(如 DECIMAL)
固定(如保留2位小数)
精确
金钱、计数




✅ 记住这个比喻:
浮点数像“用米尺量银河系”——能覆盖极大范围(从原子到宇宙),但量一张纸的厚度时会有毫米级误差;
定点数像“用游标卡尺量零件”——范围小,但每0.01毫米都精准。
“浮点” = 小数点会“漂移”,用灵活性换范围,代价是微小误差。







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2