21天好习惯第六期-6
作者:互联网
1. 基本概念
- 真值:+0101,-0100
- 机器数: [x]原=0101
2. 几种机器数
- 原码:x = -0101,[x]原 = 1101
- 反码:x = -0101,[x]反 = 1010
- 补码:x = -0101,[x]补 = 1011
- 移码:x = -0101,[x]移 = 2^n + x = 0011
PS:这里说说对补码与移码自己的理解。补码是为了化减法为加法方便计算机设计运算,移码是为了方便比较大小,用在浮点数的阶码中。
补码—— 任何一个有模的系统中,减法都可以通过加其补码来表示。最简单的例子就是以12为模的钟表,比如现在是3点,那么 -5个小时就等于 +7个小时,都是10点。这里7就是5的补码。
移码——数据对应关系一次挪动一下位置,使得看起来小的数真值也小。比如原本0000表示0,现在表示-128,然后0001表示-127,一直到1111表示+127,这样就方便比较了。
3. 定点数与浮点数
定点数:小数点固定 x.xxxxxx,表示范围受限,忘掉它吧
浮点数:数的范围和精度分别表示。
一般格式 :EEEE......EMMM.......M,E部分是阶码(数的范围i),M部分是尾数(数的精度)。缺点:阶码和尾数位数不固定,太灵活了
IEEE754格式:跟我背下来----
32位的是(单精度):1位符号位S + 8位偏指数E + 23位有效尾数M,偏移值为127。
64位的是(双精度):1位符号位S + 11位偏指数E + 52位有效尾数M,偏移值为1023。
真值就是(32位为例) N = (-1)^S * 2^(E-127) * 1.M
浮点数的特殊情况:
E=0,M=0:机器零
E=255,M=0:无穷大,对应于x/0
E=255,M!=0:非数值NaN,对应0/0
4. 数据校验
基本原理:增加冗余码
码距:合法编码之间不同二进制位数的最小值
码距与检错、纠错能力:
-
- 码距 d>=e+1:检查e个错误
- 码距 d>=2t+1:纠正t个错误
- 码距 d>=e+t+1:同时检查e个错误,并纠正t个错误。(e>=t)
标签:天好,21,第六期,尾数,0101,浮点数,补码,移码,127 来源: https://blog.csdn.net/qq_53203726/article/details/121022505