欢迎来到天天文库
浏览记录
ID:15833489
大小:34.00 KB
页数:9页
时间:2018-08-06
《二进制数值数据的编码跟其运算算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二进制数值数据的编码与运算算法23要求掌握:2.3.1原码、反码、补码的定义二进制数据——二进制表示的定点小数、定点整数、浮点数。最常用的编码方法——原码表示、补码表示、反码表示。机器数——一个数值数据的机内编码。真值——机器数所代表的实际值。1(请注意:定点小数的绝对值都是小于1的)1X0?X<1[X]原=1-X-12、符号位,0代表正,1代表负,其它的都是数的绝对值。即[X]原=符号位+3、X4、?零有两种表示,即[+0.0]原=00000[0.0]原=10000?原码表示的优点:在数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除的运算规则简单。?原码表示的缺点:原码实现加减运算很不方便,因此很少用。3XX0?X<1[X]补=2+X-15、X。?在补码表示中,0有惟一的表示,即[+0.0]补=[0.0]补=0000(4)是用机器数的最高一位代表符号,数值位是对负数值各位取反的表示方法。定义:X0?X<1[X]=反-n-n(2-2)+X-16、值X01011符号位取反11011[X]反真值X01011所有位取反10100[X]补真值X01011取反码,末位+110101将十进制数(1)+107/128(2)―35/64化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原、反、补码都是:01101011,(2)原码:11000110,反码:10111010,补码:101110012可以认为整数是小数点被设置在最低一位数值位的右边,机器数的最高位仍被用作数的符号位。数值的表示范围,以及整数编码的取模值,都与表示一个数所用的二进制位数有关。编码方法正数X=+XX„XnX=110100负数X=XX„X7、nX=1101001212[X]原8、X9、前加一位符号位0011010010、X11、前加一位符号位11110100[X]反12、X13、前加一位符号位0011010014、X15、各位取反,前加一位符号位11001011[X]补16、X17、前加一位符号位00110100取反码,末位加11001100[X]移[X]补符号变反1110100[X]补符号变反0001100将十进制数(1)―52,(2)―127化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原码:10110100,反码:11001011,补码:11001100(2)原码:11111111,反码:10000000,补码:1018、0000013浮点数格式MsEM1位符号n+1位阶码m位定点小数形式的尾数其中:?符号位为:0或1?n+1位阶码中,1位是阶码的符号,n位是阶码的位数?尾数可以采用原码或补码等编码方式。阶码的编码方法——移码表示(1)移码的定义nnn+X―2?X<2[X]移=22A、只用于整数;B、最高一位为符号位,1代表正,0代表负;C、在移码表示中,[0]移=[―0]移=1000„0;D、由[X]补得到[X]移的方法是变[X]补的符号为其反码。例:X=+1011,[X]补=01011,[X]移=11011X=―1011,[X]补=10101,[X]移=001012.3.2补码的加、减运算规则[X+Y19、]补=[X]补+[Y]补即:任意两数的补码之和等于该两数之和的补码。例题:x=+0.1011,y=―0.0101,用补码计算x+y[XY]=[X][Y]=[X]+[Y]从[Y]求[Y]的法则是:所有位取反,最末位加1例题:x=+0.1101,y=+0.0110,用补码求x-y(1)在定点小数机器中,数的表示范围为20、x21、<1,在运算过程中如果出现大于1的现象,称为“溢出”。——结果大于机器所能表示的最大正数,称为“上溢”;——结果小于
2、符号位,0代表正,1代表负,其它的都是数的绝对值。即[X]原=符号位+
3、X
4、?零有两种表示,即[+0.0]原=00000[0.0]原=10000?原码表示的优点:在数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除的运算规则简单。?原码表示的缺点:原码实现加减运算很不方便,因此很少用。3XX0?X<1[X]补=2+X-15、X。?在补码表示中,0有惟一的表示,即[+0.0]补=[0.0]补=0000(4)是用机器数的最高一位代表符号,数值位是对负数值各位取反的表示方法。定义:X0?X<1[X]=反-n-n(2-2)+X-16、值X01011符号位取反11011[X]反真值X01011所有位取反10100[X]补真值X01011取反码,末位+110101将十进制数(1)+107/128(2)―35/64化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原、反、补码都是:01101011,(2)原码:11000110,反码:10111010,补码:101110012可以认为整数是小数点被设置在最低一位数值位的右边,机器数的最高位仍被用作数的符号位。数值的表示范围,以及整数编码的取模值,都与表示一个数所用的二进制位数有关。编码方法正数X=+XX„XnX=110100负数X=XX„X7、nX=1101001212[X]原8、X9、前加一位符号位0011010010、X11、前加一位符号位11110100[X]反12、X13、前加一位符号位0011010014、X15、各位取反,前加一位符号位11001011[X]补16、X17、前加一位符号位00110100取反码,末位加11001100[X]移[X]补符号变反1110100[X]补符号变反0001100将十进制数(1)―52,(2)―127化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原码:10110100,反码:11001011,补码:11001100(2)原码:11111111,反码:10000000,补码:1018、0000013浮点数格式MsEM1位符号n+1位阶码m位定点小数形式的尾数其中:?符号位为:0或1?n+1位阶码中,1位是阶码的符号,n位是阶码的位数?尾数可以采用原码或补码等编码方式。阶码的编码方法——移码表示(1)移码的定义nnn+X―2?X<2[X]移=22A、只用于整数;B、最高一位为符号位,1代表正,0代表负;C、在移码表示中,[0]移=[―0]移=1000„0;D、由[X]补得到[X]移的方法是变[X]补的符号为其反码。例:X=+1011,[X]补=01011,[X]移=11011X=―1011,[X]补=10101,[X]移=001012.3.2补码的加、减运算规则[X+Y19、]补=[X]补+[Y]补即:任意两数的补码之和等于该两数之和的补码。例题:x=+0.1011,y=―0.0101,用补码计算x+y[XY]=[X][Y]=[X]+[Y]从[Y]求[Y]的法则是:所有位取反,最末位加1例题:x=+0.1101,y=+0.0110,用补码求x-y(1)在定点小数机器中,数的表示范围为20、x21、<1,在运算过程中如果出现大于1的现象,称为“溢出”。——结果大于机器所能表示的最大正数,称为“上溢”;——结果小于
5、X。?在补码表示中,0有惟一的表示,即[+0.0]补=[0.0]补=0000(4)是用机器数的最高一位代表符号,数值位是对负数值各位取反的表示方法。定义:X0?X<1[X]=反-n-n(2-2)+X-16、值X01011符号位取反11011[X]反真值X01011所有位取反10100[X]补真值X01011取反码,末位+110101将十进制数(1)+107/128(2)―35/64化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原、反、补码都是:01101011,(2)原码:11000110,反码:10111010,补码:101110012可以认为整数是小数点被设置在最低一位数值位的右边,机器数的最高位仍被用作数的符号位。数值的表示范围,以及整数编码的取模值,都与表示一个数所用的二进制位数有关。编码方法正数X=+XX„XnX=110100负数X=XX„X7、nX=1101001212[X]原8、X9、前加一位符号位0011010010、X11、前加一位符号位11110100[X]反12、X13、前加一位符号位0011010014、X15、各位取反,前加一位符号位11001011[X]补16、X17、前加一位符号位00110100取反码,末位加11001100[X]移[X]补符号变反1110100[X]补符号变反0001100将十进制数(1)―52,(2)―127化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原码:10110100,反码:11001011,补码:11001100(2)原码:11111111,反码:10000000,补码:1018、0000013浮点数格式MsEM1位符号n+1位阶码m位定点小数形式的尾数其中:?符号位为:0或1?n+1位阶码中,1位是阶码的符号,n位是阶码的位数?尾数可以采用原码或补码等编码方式。阶码的编码方法——移码表示(1)移码的定义nnn+X―2?X<2[X]移=22A、只用于整数;B、最高一位为符号位,1代表正,0代表负;C、在移码表示中,[0]移=[―0]移=1000„0;D、由[X]补得到[X]移的方法是变[X]补的符号为其反码。例:X=+1011,[X]补=01011,[X]移=11011X=―1011,[X]补=10101,[X]移=001012.3.2补码的加、减运算规则[X+Y19、]补=[X]补+[Y]补即:任意两数的补码之和等于该两数之和的补码。例题:x=+0.1011,y=―0.0101,用补码计算x+y[XY]=[X][Y]=[X]+[Y]从[Y]求[Y]的法则是:所有位取反,最末位加1例题:x=+0.1101,y=+0.0110,用补码求x-y(1)在定点小数机器中,数的表示范围为20、x21、<1,在运算过程中如果出现大于1的现象,称为“溢出”。——结果大于机器所能表示的最大正数,称为“上溢”;——结果小于
6、值X01011符号位取反11011[X]反真值X01011所有位取反10100[X]补真值X01011取反码,末位+110101将十进制数(1)+107/128(2)―35/64化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原、反、补码都是:01101011,(2)原码:11000110,反码:10111010,补码:101110012可以认为整数是小数点被设置在最低一位数值位的右边,机器数的最高位仍被用作数的符号位。数值的表示范围,以及整数编码的取模值,都与表示一个数所用的二进制位数有关。编码方法正数X=+XX„XnX=110100负数X=XX„X
7、nX=1101001212[X]原
8、X
9、前加一位符号位00110100
10、X
11、前加一位符号位11110100[X]反
12、X
13、前加一位符号位00110100
14、X
15、各位取反,前加一位符号位11001011[X]补
16、X
17、前加一位符号位00110100取反码,末位加11001100[X]移[X]补符号变反1110100[X]补符号变反0001100将十进制数(1)―52,(2)―127化成二进制数,再写出各自的原码、反码、补码表示(符号位和数值位共8位)。答案:(1)原码:10110100,反码:11001011,补码:11001100(2)原码:11111111,反码:10000000,补码:10
18、0000013浮点数格式MsEM1位符号n+1位阶码m位定点小数形式的尾数其中:?符号位为:0或1?n+1位阶码中,1位是阶码的符号,n位是阶码的位数?尾数可以采用原码或补码等编码方式。阶码的编码方法——移码表示(1)移码的定义nnn+X―2?X<2[X]移=22A、只用于整数;B、最高一位为符号位,1代表正,0代表负;C、在移码表示中,[0]移=[―0]移=1000„0;D、由[X]补得到[X]移的方法是变[X]补的符号为其反码。例:X=+1011,[X]补=01011,[X]移=11011X=―1011,[X]补=10101,[X]移=001012.3.2补码的加、减运算规则[X+Y
19、]补=[X]补+[Y]补即:任意两数的补码之和等于该两数之和的补码。例题:x=+0.1011,y=―0.0101,用补码计算x+y[XY]=[X][Y]=[X]+[Y]从[Y]求[Y]的法则是:所有位取反,最末位加1例题:x=+0.1101,y=+0.0110,用补码求x-y(1)在定点小数机器中,数的表示范围为
20、x
21、<1,在运算过程中如果出现大于1的现象,称为“溢出”。——结果大于机器所能表示的最大正数,称为“上溢”;——结果小于
此文档下载收益归作者所有