关于浮点数精度为什么+1位

2023-12-13 16:54:14

浮点数的范围和精度_浮点数范围-CSDN博客文章浏览阅读1.3w次,点赞6次,收藏22次。IEEE标准提供了两种主要的浮点数格式: 单精度(32位)和双精度(64位)。分为三个部分:符号、指数和小数。指数部分决定了浮点数的范围。而小数部分的位数决定了精度。(见下图)单精度中,指数长度为8位,小数部分占23位。由于是有符号型,所以对应的指数范围是-128~128。所以单精度的范围是-2128到2128,约等于-3.40 * 10^38 至 3.40 * 10^38(或者写成 -3.40E38 ~ +3.40E38)。由于小数部分占23位,而2^23=8388608。对应的10进制是7位。所以_浮点数范围https://blog.csdn.net/zuolindian/article/details/119082996浮点数与IEEE754-CSDN博客文章浏览阅读339次。浮点数表示是指阶符+阶码+数符+尾数,主要分两部分阶和尾数,原码+原码表示补码+补码表示规格化:与科学计数法不同的是,因为它含符号,所以是符号位后第一位真值不为0。特别地:补码表示时,规格化时只有符号位与后一位异或结果=1才合法。IEEE754浮点数表示的一种标准数符+阶码+尾数用"移码"+“原码”坑1:入门移码是-128_127与无符号数0_255一一对应此处移码是-126_127与无符号数1_255一一对应,通过无符号数减去127可得真值。全1去处理(上溢)无穷值以及不合法运算https://blog.csdn.net/weilaidedakejilu/article/details/120252393

?

?其实不对吧,有一个隐藏的1.0,所以32位浮点数精度是7-8位数,这个隐藏也是为什么浮点数表示不了0的原因。下面说明128处理下溢就是0。

符号位有两个,一个是数值的符号,一个阶的符号。

移码是由补码符号位取反,
补码是补(加)上多少原码等于全0。
原码是按基数为2的计算部分,按权值相加等于真值。
为什么用补码表示真值?因为处理有两个码表示0的情况。
10000000和01111111对应0和255即-1
00000000和11111111对应0即-128处理下溢和127处理上溢出

文章来源:https://blog.csdn.net/weilaidedakejilu/article/details/134974634
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。