欢迎来到天天文库
浏览记录
ID:29002855
大小:73.00 KB
页数:7页
时间:2018-12-15
《二进制数值数据的编码与运算算法.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、二进制数值数据的编码与运算算法一、原码、反码、补码的定义1、原码的定义①小数原码的定义 [X]原=X 0≤X<11-X -1<X≤0 例如:X=+0.1011,[X]原=01011 X=-0.1011 [X]原=11011②整数原码的定义[X]原=X 0≤X<2n2n-X -2n<X≤02、补码的定义①小数补码的定义[X]补=X 0≤X<12+X -1≤X<0例如: X=+0.1011, [X]补=01011 X=-0.1011, [X]补=10101②整数补码的定义 [X]补=X 0≤X<2n2n+1+X -2n≤X<0
2、3、反码的定义①小数反码的定义 [X]反=X 0≤X<12-2n-1-X -1<X≤0例如: X=+0.1011 [X]反=01011 X=-0.1011 [X]反=10100②整数反码的定义[X]反=X 0≤X<2n2n+1-1-X -2n<X≤04.移码:移码只用于表示浮点数的阶码,所以只用于整数。①移码的定义:设由1位符号位和n位数值位组成的阶码,则[X]移=2n+X -2n≤X≤2n例如:X=+1011 [X]移=11011 符号位“1”表示正号 X=-1011
3、 [X]移=00101 符号位“0”表示负号②移码与补码的关系:[X]移与[X]补的关系是符号位互为反码,例如:X=+1011 [X]移=11011 [X]补=01011 X=-1011 [X]移=00101 [X]补=10101 ③移码运算应注意的问题:◎对移码运算的结果需要加以修正,修正量为2n,即对结果的符号位取反后才是移码形式的正确结果。◎移码表示中,0有唯一的编码——1000…00,当出现000…00时(表示-2n),属于浮点数下溢。二、补码加、减运算规则1、运算规则[X+Y]补=[X]补+
4、[Y]补[X-Y]补=[X]补+[-Y]补若已知[Y]补,求[-Y]补的方法是:将[Y]补的各位(包括符号位)逐位取反再在最低位加1即可。例如:[Y]补=101101[-Y]补=010011 2、溢出判断,一般用双符号位进行判断:符号位00表示正数11表示负数结果的符号位为01时,称为上溢;为10时,称为下溢例题:设x=0.1101,y=-0.0111,符号位为双符号位用补码求x+y,x-y [x]补+[y]补=001101+111001=000110 [x-y]补=[x]补+[-y]补=001101+000111=010100结果错误,正溢出三、原码一位乘
5、的实现:设X=0.1101,Y=-0.1011,求X*Y解:符号位单独处理,x符+y符数值部分用原码进行一位乘,如下图所示: 高位部分积 低位部分积/乘数说明 000000 1011 起始情况+)001101乘数最低位为1,+X 001101 000110 11011(丢)右移部分积和乘数+)001101乘数最低位为1,+X 010011 001001 1110 1(丢)右移部分积和乘数+)000000乘数最低位为0,+0 001001 000100 11110(丢)右移部分积和乘数+)001101
6、乘数最低位为1,+X 010001 001000 11111(丢)右移部分积和乘数四、原码一位除的实现:一般用不恢复余数法(加减交替法)部分积低位部分积附加位操作说明 000000 1011 起始情况+)000000乘数最低位为1,+X 000000 000000 11011(丢)右移部分积和乘数+)110011乘数最低位为1,+X 010011 001001 1110 1(丢)右移部分积和乘数+)000000乘数最低位为0,+0 001001 000100 11110(丢)右移部分积和乘
7、数+)001101乘数最低位为1,+X 010001 001000 11111(丢)右移部分积和乘数数据表示—常用的信息编码一.逻辑数据的表示 逻辑数据是用来表示二值逻辑中的“是”与“否”或“真”与“假”两个状态的数据。在计算机中用“1”表示“真”,用“0”表示假。二.字符数据的表示1.ASCII码:ASCII是美国标准信息交换码的简称。ASCII码是7位基2码,共有128个。其中编码值为0~31及127的不对应任何可印刷字符。通常称它们为控制字符。其它字符为可印刷字符,这种字符编码中有如下两个规律:(1)字符0~9这10个数字符的高3位编
8、码为011,低4位为0000~1001,当去掉高3位
此文档下载收益归作者所有