当前位置: 首页 > 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 位有效数字,适合精度要求高的科学或金融场景。

http://www.lqws.cn/news/168553.html

相关文章:

  • 基于51单片机的车内防窒息检测报警系统
  • 【运维心得】内存占用虚标真相
  • vue-19(Vuex异步操作和变更)
  • 使用ArcPy进行栅格数据分析(2)
  • JAVA之 Lambda
  • 【赵渝强老师】Docker的图形化管理工具
  • 【JavaEE】万字详解HTTP协议
  • 残月个人拟态主页
  • RADIUS 协议 (Remote Authentication Dial-In User Service)
  • 华为交换机vlan配置步骤
  • 《最长公共子序列》题集
  • 8086寻址解剖图:7种武器解锁x86内存访问的基因密码
  • Linux --环境变量,虚拟地址空间
  • 直线导轨微型化技术难点在哪里?
  • Python基于方差-协方差方法实现投资组合风险管理的VaR与ES模型项目实战
  • Java并发编程实战 Day 10:原子操作类详解
  • 边缘计算应用实践心得
  • P10909 [蓝桥杯 2024 国 B] 立定跳远
  • Python Einops库:深度学习中的张量操作革命
  • 使用 uv 工具快速部署并管理 vLLM 推理环境
  • 前端面试四之Fetch API同步和异步
  • 【Linux网络篇】:从HTTP到HTTPS协议---加密原理升级与安全机制的全面解析
  • 掌握YOLOv8:从视频目标检测到划定区域统计计数的实用指南
  • [蓝桥杯]全球变暖
  • opencv学习笔记1:图像基础、图像操作、直方图均衡化详解
  • 用电脑控制keysight示波器
  • SuperMap Iserver 重置密码
  • RAG:大模型微调的革命性增强——检索增强生成技术深度解析
  • Symbol as Points: Panoptic Symbol Spotting via Point-based Representation
  • MLP(多层感知机)