(原码、反码、补码)教案

2026/4/28 12:25:22

教师活动 学生活动 原码、补码、反码的总结 学生练习,加深印象。 有了数值的表示方法就可以对数进行算术运算.但是很快就学生完成情况反发现用带符号位的原码进行乘除运算时结果正确,而在加减运馈 算的时候就出现了问题,如下: 假设字长为8bits ( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确. 因为在两个整数的加法运算中是没有问题的,于是就发现问 题出现在带符号位的负数身上,对除符号位外的其余各位逐位 取反就产生了反码.反码的取值空间和原码相同且一一对应. 分组讨论 下面是反码的减法运算: ( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10 (00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 有问题. ( 1 )10 - ( 2)10 = ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 正确 问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大). 于是就引入了补码概念. 负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128)代替了(-0),所以补码的表示范围为: (-128~0~127)共256个. 注意:(-128)没有相对应的原码和反码, (-128) = (10000000) 补码的加减运算如下: ( 1 ) 10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) 正确 ( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10 (00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 正确 所以补码的设计目的是: ⑴使符号位能与有效值部分一起参加运算,从而简化运算规则. ⑵使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计 教师活动 学生活动 所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。 大致总结一下: 1、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。 数值的补码表示也分两种情况: (1)正数的补码:与原码相同。 例如,+9的补码是00001001。 (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。 例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码0000111按位取反为1111000;再加1,所以-7的补码是11111001。 已知一个数的补码,求原码的操作分两种情况: (1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。 (2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。 例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111。 在“闲扯原码、反码、补码”文件中,没有提到一个很重要的概念“模”。我在这里稍微介绍一下“模”的概念: “模”是指一个计量系统的计数范围。如时钟等。计算机也可以看成一个计量机器,它也有一个计量范围,即都存在一个“模”。例如: 时钟的计量范围是0~11,模=12。 表示n位的计算机计量范围是0~2(n)-1,模=2(n)。【注:n表示指数】 “模”实质上是计量器产生“溢出”的量,它的值在计量教师活动 学生活动 器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算。 对于计算机,其概念和方法完全一样。n位计算机,设n=8, 所能表示的最大数是11111111,若再加1称为100000000(9位),但因只有8位,最高位1自然丢失。又回了00000000,所以8位二进制系统的模为2(8)。 在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。 把补数用到计算机对数的处理上,就是补码。 对三种码的总结: 1、 原码为将最高位设置为符号位,正数为0、负数为1 2、 正数的原码、反码、补码都相同 3、 负数的反码是符号位不变、数值位按位取反 4、 负数的补码为其反码再加1 5、 在计算机系统中都是将减法运算转换为加法运算 6、 计算机进行运算和存储时都是数据的补码 7、 在计算过程中如果最高位(符号位)产生了进位,则将进位舍去。 〖小结〗 本节课我们学习了机器数的概念,以及原码、反码、补码的求法。请同学们回去以后进行及时的复习,如有疑问请在课后及时与我交流。 〖作业〗 知识点拓展提升: 1、用八位二进制表示 X=+00000000 [X]原码= [X]反码= [X]补码= X=-00000000 [X]原码= [X]反码= [X]补码= 2、 已知两个数X、Y的反码分别是[X]反码=01101010;[Y]反码=10111011;比较X、Y的大小。 3、计算如下习题 35-17 78-54 23-32 教师活动 学生活动 62-85 -90-19 -45-30 〖教学反馈及反思〗 附:板书 原码、反码、补码 1. 机器数; 2. 机器数可分为原码、反码、补码; 原码、反码、补码的求法;


(原码、反码、补码)教案.doc 将本文的Word文档下载到电脑
搜索更多关于: (原码、反码、补码)教案 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219