news 2026/10/18 7:29:45

fp32,fp16,bf16的区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
fp32,fp16,bf16的区别

谈到FP32,FP16,BF16的区别是什么,可能我们的第一反应是:

  • FP32:32 bit表示
  • FP16、BF16:16bit表示

所以他们能表示的数值范围、精度不同,如果仅仅是知道这点,那就太表面了。

一个浮点数如何在计算机中存储的

我们以FP32来举例一个浮点数是如果在计算机中存储的,搞清楚这点,我们就基本上搞清楚了FP32。那么FP16和BF16都是大同小异的。

一个浮点数可三个方面来表示:

  • 符号位:1 bit。用来表示正负数,负数:1,正数:0.
  • 指数位:8bit,类似十进制中科学计数法的指数,决定能表示多大范围的数。实际存储的还要先加上偏置值(bias),偏置=,k为指数位的位数,在fp32中,bias=127。之所以要加上偏置,是为了更方便的比较浮点数的大小。例如一个浮点数的指数位是2,另一个指数位是-126。,,要比较两者真正的大小,计算机硬件还要额外写一套判断符号的复杂逻辑,但是加上偏置之后,就可以直接比较了。
  • 尾数位:23bit。体现精度。乍一看怎么不给指数位分多一点,其实8bit的指数位已经足够大了。

一个实际的例子

我们以-6.33为例子:

1.确定符号位(sign):

-6.33为负数,S=1

2.把6.33转成2进制
  • 整数部分:
  • 小数部分:0.33,采用“乘3取整法”:

这个例子中可以发现,0.33在二进制中是一个无法穷尽的小数,也就是无法精确表示。

组合起来:

3.二进制科学计数法

从科学计数法中提取指数和尾数:

  • 真实指数:2。加上偏置之后:
  • 尾数:1.10010101000111101011100001,因为二进制科学技术法中第一位一定是1,所以可以省略,那么有效尾数为:10010101000111101011100001,戒断23位:10010101000111101011100
4.内存中的-6.33

到此,已经得到-6.33的关于符号位、指数、尾数的二进制表达了:

  • 符号位:1
  • 指数位:10000001
  • 尾数:10010101000111101011100

这些就是-6.33在计算机中存储的二进制了

复原过程

1.符号位:-1,那么正负号:,为负数

2.指数:,真实指数=129-127=2

3.尾数:10010101000111101011100,在前面补回省略的1,得到:1.10010101000111101011100,转回十进制:

= 1.582499980926513671875

最终复原的值:

FP32能表示的数值范围

从上面复原二进制到10进制的过程:

最终复原的值:

可以发现-1就是决定正负号的,那么跟“范围”无关

最大值

那么一个数的最大值,就是要让尾数和指数越大越好:

  • 指数:8bit的指数位,理论上可表示的范围是0~255,但是0(二进制全0)和255(二进制全1)规定用来留作特殊用途了。即1~254,那么最大真实的次方:254-127=127
  • 尾数:让二进制二数全为1:

那么最大的值

最小值

同理让指数和尾数最小:

  • 指数:1,真实次方:1-127=-126
  • 尾数:1.0

那么最小值

到此,应该理解了FP32是个什么东西了

FP32 FP16 BF16区分

仅仅是指数位和尾数位不同而已:

BF16的指数位和FP32是一样的,这是为了让BF16具备和FP32一样的极值范围(实际不太一样,因为尾数位不一样,但是差异很小,可忽略)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/18 7:29:34

PPT设计教程安装包:约4GB PowerPoint培训资料,演示文稿制作技能自学资源

什么是这套PPT教程资源 这套资源是一套以安装程序形式分发的PPT设计教程,打包成单个可执行安装文件,体积约为4GB。它主要面向希望系统学习演示文稿制作、幻灯片排版以及视觉设计技巧的用户群体,涵盖从基础操作到进阶设计的多个方向。 配套内…

作者头像 李华
网站建设 2026/10/18 7:27:59

VS Code 高效配置指南:从插件管理到远程开发避坑

简介:微软 VS Code 代码编辑器程序目录资源包,适合需要在离线环境安装、定制或研究其内部结构的前后端开发者与运维人员。资源共有七千零九十四份文件,以 JavaScript 脚本、JSON 配置、Markdown 文档、TypeScript 类型定义和 CSS 样式为主&am…

作者头像 李华
网站建设 2026/10/18 7:27:23

把编程作业当项目管理:从拆题到提交的全流程实践

这周的作业标题是“第五周作业 0430”,我刚看到时只把它当成作业编号,翻了一下课程平台才发现 0430 其实是截止日期。前几周我的作业都是靠熬夜踩点才交上的,每次都是在最后两个小时里一边改 Bug 一边后悔。这次我决定换个思路:提…

作者头像 李华
网站建设 2026/10/18 7:26:58

SSM物流信息管理系统实战:从数据库设计到核心代码实现

提到基于SSM的物流信息管理系统,这应该是这两年课题清单里出现频率最高的Java Web方向之一。很多人一听"SSM"就觉得老套,但真正动手做过一遍的人都知道,物流系统涉及的业务实体多、状态流转复杂、权限粒度细,恰好是检验…

作者头像 李华
网站建设 2026/10/18 7:23:15

Map Join与Reduce Join选型实战:内存、倾斜与Semi-Join破局

1. 项目概述:Map Join与Reduce Join不是“选哪个”,而是“什么时候必须用哪个”在某高校大数据实验室带学生做电商用户行为分析项目时,我亲眼见过三组人用同一份日志数据跑相同SQL,结果一个任务跑了47分钟,另外两个分别…

作者头像 李华
网站建设 2026/10/18 7:22:57

Vue3 + Webpack5 + Element Plus 工程模板搭建与优化实战

简介:这是一份基于 webpack5 搭建 Vue3 开发与生产环境的实战示例工程,面向希望熟悉 webpack5 新特性、掌握前端构建优化的初中级开发者。资源以 JavaScript 为主,配合 Vue 单文件组件与 SCSS 样式,完整演示了从开发调试到生产打包…

作者头像 李华