您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 资本运营 > 浙江省计算机高考复习(第5课)原码、反码和补码
精品课程原码、反码和补码计算机中采用二进制数来表示和存储各种数据信息。如:十进制数10可以表示为二进制数______。那么-10如何在计算机内表示呢?最高位定为符号位,其余各位表示数值真值数和机器数真值数:机器外带正、负符号的数。如:+35,-10机器数:把正、负符号数字化的数。(0表示正,1表示负)这些带符号的机器数可以用不同的方式表示:原码、补码、反码1、原码计算机中正数的符号位用0表示,负数的符号位用1表示,用这种方法表示的数称为原码。即:0表示正号,1表示负号例1:求+1010110和-101011的原码:[+1010110]原=01010110[-101011]原=1101011例2:当机器字长数为8位时,求以下几个数的原码:-101011,-37,[-101011]原=1101011但由于机器字长为8位,需补位,且不能影响数值大小所以[-101011]原=10101011[-37]原=[-100110]原=10100110正数的原码是其本身(机器数),负数的原码最高位为1。练习:当机器字长数为8位时,求以下几个数的原码:+1011010,-1101011,-19,+0,-0[+0]原=00000000[-0]原=10000000思考:当用8位二进制来表示整数原码时,其表示范围是多少?最大值为01111111,其真值数为127最小值为11111111,其真值数为-127所以原码能表示数值的范围为:(-127~-0,+0~+127)原码表示存在的问题:在某台字长为8位的计算机中,用原码的形式计算1+100000001+00000001=00000010=2用原码的形式计算-1+110000001+00000001=10000010=-2原码在参加运算时必须确定运算数的符号位及数值大小才能确定结果符号及结果值,处理麻烦,效率不高。×2、反码:反码与原码的关系:正数:反码=原码负数:符号位不变,其余各位取反例1:当机器字长数为8位时,求+1001110和-110101的反码。[+1001110]反=[+1001110]原=01001110[-110101]原=10110101→[-1110101]反=11001010练习1:当机器字长数为8位时,求以下几个数的反码:+11010,-1011011,+0,-0[+0]反=00000000[-0]反=11111111练习2:若[X]反=01011010,则[X]原=_______。若[X]反=10101011,则真值数X=_______。思考:当用8位二进制来表示整数反码时,其表示范围是多少?最大值为01111111,其真值数为127最小值为10000000,其真值数为-127所以原码能表示数值的范围为:(-127~-0,+0~+127)补码引入如何能把表上的8点钟改为6点钟?拨针方法小结:8-2=68+10=6思考:为什么会出现这种现象?计算机中是否也有这种现象?(表盘是圆的,可循环计时。)不同之处:–表计时的最大数是12–计算机计数的最大数不是12(思考:那么是多少呢?)–我们把这个数称为模–计算机的模与字长有关。8位机的模是28=256通过钟表拨针的两种方法:8-2=68+10=6我们可以看出,减去一个数a相当于加上(模-a)在计算机中也有相同情况:在8位字长的计算机中,减去一个数a相当于加上(28-a)我们称(28-a)为a的补数,其二进制表示形式称为补码。用补码的加法来代替二进制减法,能使运算简单。3、补码:补码与反码、原码的关系:正数:补码=反码=原码负数:补码=反码+1或=原码符号位不变,其余各位取反,再+1例:当机器字长数为8位时,求以下几个数的补码:+1011010,-1010101[+1011010]补=[+1011010]原=01011010[-1010101]原=11010101→[-1110101]反=10101010→[-1110101]补=10101011练习1:当机器字长数为8位时,求以下几个数的补码:+10110,-25,+0,-0[+0]补=[-0]补=00000000补码能表示数值的范围为:(-128~+127)练习2:若[X]补=01011010,则真值数X=_______。若[X]补=10101011,则[X]原=_______。小结正数:原码=反码=补码负数:原码:符号位(最高位)为1,其余各位不变。反码:符号位为1,其余各位按位取反。补码:符号位为1,其余各位取反后+1。两点注意:0的原码反码有两种表示,补码只有一种表示补码能表示的最小值为-128
本文标题:浙江省计算机高考复习(第5课)原码、反码和补码
链接地址:https://www.777doc.com/doc-3331753 .html