内容 | 原码 | 反码 | 补码 | 移码 |
---|---|---|---|---|
定义 | 符号位加上数值的绝对值的二进制表示 | 正数同原码,负数符号位不变,数值位取反 | 正数同原码,负数符号位不变,数值位取反后+1 | 在补码基础上符号位取反(正数+0,负数+2^(n-1)) |
适用范围 | 人类阅读和理解 | 中间过渡形式,计算机减法运算中使用 | 计算机内部统一的运算编码 | 浮点数阶码表示 |
处理符号 | 符号位0表示正数,1表示负数 | 同原码 | 同原码 | 移码后符号位为0(统一为无符号数) |
主要特点 | 直观,便于理解 | 负数仅数值位取反 | 解决了0有两种表示(+0、-0)的问题 | 便于浮点数大小比较 |
数值大小关系 | 与实际值一致 | 正负数对应位逐位相反 | 补码可直接用于加减运算 | 符号位统一,按无符号数处理 |
假设以8位二进制表示数值**-5**:
编码方式 | 二进制表示 | 说明 |
---|---|---|
原码 | 1 0000101 | 符号位1表示负,后面是5的二进制 |
反码 | 1 1111010 | 数值部分取反(0变1,1变0) |
补码 | 1 1111011 | 反码基础上加1 |
移码 | 0 1111011 | 补码符号位取反(符号位0表示偏移后正数) |
计算:5−3
然后进行加法:
0 0000101
+ 1 1111100
------------
0 0000001 (产生了进位,回补进位)
+ 1
------------
0 0000010
定点整数: 如8位定点整数,可以表示 −128∼127(补码表示)。
定点小数(也叫定点小数格式、定点小数点位置):
例如固定小数点在第4位,数值 0001.0100
表示 1.25。
小数点位置固定,程序或硬件内部默认,不需单独存储小数点
其中:
假设我们使用一个简单的CRC-8算法,生成多项式为:
待校验数据为 101101
,我们将数据与多项式做CRC计算。
101101
与8个零一起构成 10110100000000
(这就是填充后的数据)。接收方接收到数据后,进行相同的操作,检查余数。如果余数为零,则数据无错误;否则说明数据发生了错误。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有