当前位置: 首页 > news >正文

单精度浮点数值 和 双精度浮点数值

“单精度”和“双精度”其实就是计算机表示小数的 精度等级内存占用 的不同。

名称英文名占用内存精度(能表示的小数位数)常见别名
单精度float / float324 字节(32 位)大约 7 位有效数字float
双精度double / float648 字节(64 位)大约 15~16 位有效数字double

✅ 举个通俗的例子

假设你要存一个数:

π ≈ 3.141592653589793238
  • 用单精度 float 存进去后,精度只保留大约 7 位:

    float32(π)3.1415927
    
  • 用双精度 double 存进去后,保留大约 15 位:

    float64(π)3.141592653589793
    

你看到差距了吧?float 是“差不多就行”,double 是“较精确”


✅ 再举个 Python 数值对比的例子

import numpy as np# 单精度
a = np.float32(1.123456789)
print("float32:", a)  # 输出:1.1234568# 双精度
b = np.float64(1.123456789123456789)
print("float64:", b)  # 输出:1.1234567891234568

✅ 为什么有两种精度?

场景适合用哪种原因
游戏开发、图形渲染float速度快,占内存少,够用
科学计算、金融、工程double需要高精度计算
神经网络权重float32 / float16平衡精度和性能
金融汇率交易通常用 decimaldouble要求高精度,不能出错

✅ 底层结构简要(扩展)

它们都用 IEEE 754 标准格式 来表示:

类型符号位指数位尾数位(小数)总位数
float321 bit8 bit23 bit32 位
float641 bit11 bit52 bit64 位

这也是为什么 double 能表达更大的数、更高的精度。


✅ 总结一句话

单精度 float 就是用 4 字节内存,表示小数精度大约 7 位,适合对精度要求不高的场景;双精度 double 用 8 字节内存,能表示大约 15 位有效数字,适合精度要求高的科学或金融场景。

相关文章:

  • 嵌入式学习之系统编程(十)网络编程之TCP传输控制协议
  • TDengine 开发指南—— UDF函数
  • Web 架构相关文章目录(持续更新中)
  • YAML在自动化测试中的三大核心作用
  • RADIUS-管理员获取共享密钥
  • 拆装与维修汇总帖
  • Qt/C++学习系列之QGroupBox控件的简单使用
  • Linux项目自动化构建工具——make/Makefile
  • 掌握YOLOv8:从视频目标检测到划定区域统计计数的实用指南
  • 6.824 lab1
  • float、double 这类 浮点数 相比,DECIMAL 是另一种完全不同的数值类型
  • 动态表单 LiveCycle 与 AcroForms 对比
  • 东南亚用工合规困境破解:从文化冲突到数字化管理升级
  • 央国企人力资源数字化转型:全景路径与6类挑战解析
  • vite+vue3项目中,单个组件中使用 @use报错
  • 群晖NAS套件历史版本资源
  • 动态规划---股票问题
  • AiPy实战:10分钟用AI造了个音乐游戏!
  • Kinova机械臂在Atlas手术导航系统中的核心作用
  • 数论~~~
  • 重庆网站建设入门培训/优化设计
  • 怎么做一个自己网站/市场调研方法有哪些
  • jsp商务网站建设/湖南网站设计外包费用
  • 温州做网站建设哪家好/seo排名规则
  • 网站开发维护前景/百度知道在线
  • 怎么做网站的轮播图/买转发链接