“软件设计师精讲 数据的表示 浮点数的表示”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) (→浮点的运算) |
Jihongchang(讨论 | 贡献) (→浮点的运算) |
||
第7行: | 第7行: | ||
N=尾数*基数<sup>指数</sup> | N=尾数*基数<sup>指数</sup> | ||
+ | |||
+ | 以 1.25×10<sup>6</sup> 为例: | ||
+ | |||
+ | 其中的“1.25”就是尾数,它是定点小数的形式; | ||
+ | |||
+ | 基数部分,在二进制存储的时候,固定是等于2的,不会发生变化了; | ||
+ | |||
+ | 指数部分,就是这里的乘幂,也叫作“阶码”。 | ||
+ | |||
+ | |||
+ | 阶码是定点整数,一般用移码表示; | ||
+ | |||
+ | 基数在计算机中是不需要存储的; | ||
+ | |||
+ | 尾数一般使用补码来表示的; | ||
+ | |||
+ | 有一类特殊的标注:IEEE754,尾数可以用原码来表示。 | ||
+ | |||
+ | |||
+ | 给出 1.255×10<sup>10</sup> 和上面的 1.25×10<sup>6</sup> 作对比,1.255×10<sup>10</sup> 的数值范围更大,阶码可以影响数值表示的范围,阶码的位数越多,表示的范围就越大; | ||
+ | |||
+ | 再来看尾数部分,尾数可以表示数值的有效精度,尾数越多,表示精度越高。 | ||
+ | |||
+ | 如果要对 1.25×10<sup>6</sup> 和 1.255×10<sup>10</sup> 进行加法运算的话: | ||
+ | |||
+ | 首先,让它们的阶码对齐,我们叫做“对阶”,如果要求两个阶码一致——一种是让阶码保持为6,一种是让阶码保持为10。 | ||
+ | |||
+ | 如果阶码保持为6,1.255×10<sup>10</sup> 就要变成 12550 ×10<sup>6</sup>,再和 1.25×10<sup>6</sup> 相加之后还要重新调整阶码,才能保证前面的尾数是小数点前只保留1位,所以<u>这种形式不可取</u>。 | ||
+ | |||
+ | 我们在做“对阶”的时候,一般是“小数向大数看齐”,将 10<sup>6</sup> 扩展为10<sup>10</sup> ,后面扩大了1万倍, |
2024年3月18日 (一) 14:49的版本
https://www.bilibili.com/video/BV13U4y1E7oA/?p=6
考点3:浮点数的表示
浮点的运算
浮点数表示:
N=尾数*基数指数
以 1.25×106 为例:
其中的“1.25”就是尾数,它是定点小数的形式;
基数部分,在二进制存储的时候,固定是等于2的,不会发生变化了;
指数部分,就是这里的乘幂,也叫作“阶码”。
阶码是定点整数,一般用移码表示;
基数在计算机中是不需要存储的;
尾数一般使用补码来表示的;
有一类特殊的标注:IEEE754,尾数可以用原码来表示。
给出 1.255×1010 和上面的 1.25×106 作对比,1.255×1010 的数值范围更大,阶码可以影响数值表示的范围,阶码的位数越多,表示的范围就越大;
再来看尾数部分,尾数可以表示数值的有效精度,尾数越多,表示精度越高。
如果要对 1.25×106 和 1.255×1010 进行加法运算的话:
首先,让它们的阶码对齐,我们叫做“对阶”,如果要求两个阶码一致——一种是让阶码保持为6,一种是让阶码保持为10。
如果阶码保持为6,1.255×1010 就要变成 12550 ×106,再和 1.25×106 相加之后还要重新调整阶码,才能保证前面的尾数是小数点前只保留1位,所以这种形式不可取。
我们在做“对阶”的时候,一般是“小数向大数看齐”,将 106 扩展为1010 ,后面扩大了1万倍,