脚本宝典收集整理的这篇文章主要介绍了计组 |二、数据的表示和运算,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
[一 数制和编码](#一 数制和编码)
[二 定点数](#二 定点数)
1.数制相互转换
2.BCD码
3.字符与字符串
4.校验码
(1)确定校验码位数
(2)确定校验码位置
(P_i)放在(2^{i-1})的位置上,其余按顺序
信息位(D_4D_3D_2D_1(1010)),校验位(P_3P_2P_1),海明码为(H_7H_6H_5H_4H_3H_2H_1)
(3)求校验位的值
(4)纠错
对校验方程进行计算
若出现偶校验错误,将结果(S_3S_2S_1)转为十进制,对应位置即为错误位置
检错能力:2;纠错能力:1
全体校验
当两个跳变时,无法根据对应的位置确定它就是出错位。即上面无法区别是1位错还是2位错。所以引入全校验位,在最后面加上(P_全),该值是由原始数据得出偶校验码。
现在对传输的数据进行一次全体偶校验进行分析
CRC。数据发送、接受方约定一个“除数”,保证余数为0
(1)确定长度与二进制码
(2)由模2除法求CRC码
示例
检错:
可检测出所有奇数个错误;
可检测出所有双比特的错误;
可检测出所有小于等于校验位长度的连续错误;
纠错:
K个信息位,R个校验位,若生成多项式选择得当,且 (2^Rge K+R+1),CRC码可纠正1位错。
1.定点数的表示
2.定点数运算
表示范围
类型 | 范围 |
---|---|
无符号数(n) | (0sim2^n-1) |
原码/反码整数(n+1) | (-(2^n-1)le xle 2^n-1) |
原码/反码小数(n+1) | (-(1-2^{-n})le xle 1-2^{-n}) |
补码/移码整数(n+1) | (-2^nle xle2^n-1\比原码多表示一个-2^n) |
补码小数(n+1) | (-1le xle1-2^-n\比原码多一个-1) |
(带余除法:\x=qm+r\x~mod~12=r\(q为整数,r为余数,m为模。类似周期,即要在r相等的情况下找到x))
补码的算数移位
正数和原码一致
由于负数补码=反码末位+1。所以反码最右边连续的1会因进位变成0,直到第一个0。故负数补码最右边的1及其右边与原码一致。而其左边与反码一致。所以造成了:
加法举例
RGB值例子:例如用3B储存102、139、133
102的二进制数储存进去并向左移动16位
139的二进制数储存进去并向左移动8位
133的二进制数储存进去
相加得3B的RGB值
方法一:一位符号位
方法二:一位符号位,根据进位情况判断
方法三:双符号位
==>V=0无溢出;V=1溢出
乘数从左到右依次乘以被乘数,每次都要错位
原码一位乘法
符号位进行异或运算
数值位取绝对值进行乘法运算
ACC乘积高位
MQ乘数、乘积低位
X被乘数
ACC置0
MQ最右一位开始:1-》ACC+被乘数;0-》ACC加上0
通过ALU,结果放在ACC寄存器
ACC MQ逻辑右移。之后运算过程像上面一样
部分积:逻辑右移后放在MQ的位
重复数值位n次
结果:ACC与MQ组合,第一位为符号位,后面为小数部分
处理符号位
对于整数的,符号位是最右边的一位
---n论加法,移位
--根据MQ最低位确定加什么。加法可能是+0、+[x]原码
补码一位乘法
n轮加法,移位,再一次加法
--根据MQ最低位和辅助位确定加什么。
辅助位-最低位=1----+0
辅助位-最低位=0----+[x]补
辅助位-最低位=-1----+[-x]补
--算数右移
--正负不用异或约定
以上是脚本宝典为你收集整理的计组 |二、数据的表示和运算全部内容,希望文章能够帮你解决计组 |二、数据的表示和运算所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。