一个正数的补码等于这个数的负数的原码和补码么?举例说明

正数和负数的反码、补码是一样的吗?谁能给我的老师讲讲._百度知道
正数和负数的反码、补码是一样的吗?谁能给我的老师讲讲.
正数和负数的反码、补码是一样的吗?
提问者采纳
引进机器数的3种表示法:原码、补码和反码,是将符号位和数值位一起编码,机器数对应的原来数值称为真俯担碘杆鄢访碉诗冬涧值 1.原码表示法 原码表示方法中,数值用绝对值表示,在数值的最左边用“0”和“1”分别表示正数和负数,书写成[X]原表示X的原码。 例如,在8位二进制数中,十进制数+23和-23的原码表示为:
[+23]原= [-23]原= 应注意,0的原码有两种表示,分别是“00……0”和“10……0”,都作0处理。
2.补码表示法 一般在作两个异号的原码加法时,实际上是作减法,然后根据两数的绝对值的大小来决定符号。能否统一用加法来实现呢?这里先来看一个事实。对一个钟表,将指针从6拨到2,可以顺拨8,也可以倒拨4,用式子表示就是:6+8-12=2和6-4=2 这里12称为它的“模”。8与-4对于模12来说是互为补数。计算机中是以2为模对数值作加法运算的,因此可以引入补码,把减法运算转换为加法运算。 求一个二进制数补码的方法是,正数的补码与其原码相同;负数的补码是把其原码除符号位外的各位先求其反码,然后在最低位加1。通常用[X]补表示X的补码,+4和-4的补码表示为:
[+4]补= [-4]补= 例1.11 求6-4。 因为[6] 补=,[-4] 补=
所以010+.反码表示法
正数的反码等于这个数本身,负数的反码等于其绝对值各位求反。例如:
[+12]反= [-12]反= 总结以上规律,可得到如下公式:X-Y=X+(Y的补码)=X+(Y的反码+1)
其他类似问题
为您推荐:
补码的相关知识
其他1条回答
正数的一样,负数的不一样
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何求一个正数或者负数的原码,反码,补码?比如+5?
正数的原码,反码,补码就是它的二进制数负数原码是它的二进制数反码是原码各位取反0取反是1,1取反是0补码就是反码加1如+5的原码,反码,补码都是1,101而-5的原码是0,101反码0,010补码0,011正号用1表示负号用0表示
为您推荐:
其他类似问题
扫描下载二维码负数的补码的一种证明方法
负数的补码的一种证明方法
(广西广播电视大学理工学院 广西南宁 530022)
  [摘要]本文首先介绍了负数补码和反码的定义,并用例子验证定义的正确性,然后从负数补码、反码的定义出发,给出了负数的补码等于该负数的反码与末位加1之和这一命题的一种证明方法与验证。
  [关键词]补码;反码;证明
  [中图分类号]TP311.1 [文献标识码]A [文章编号](65-02
任意一个二进制数真值在计算机中用机器数来表示,最基本的机器数有三种,即原码、补码和反码。[1]在计算机的运算过程中,根据不同的运算运用不同的机器数,可以简化计算机运算过程并很快得到运算结果。如乘法和除法用原码参与运算比较方便,符号位通过异或运算即得结果的符号位;而加法与减法运算用补码参与运算比较方便,它使符号位不用单独处理,可以一起参与运算。在计算机中,三种机器数能方便、容易地进行转换,这给使用带来极大方便。其转换要点有三:
  (1)将一个数的二进制真值的最高位置上符号位(正数用0,负数用1表示),就是这个数的原码。
  (2)对于一个正数,其原码、补码、反码在计算机中的表示代码相同,其代码不用改变。
  (3)对于一个负数,将原码的符号位(即二进制数的最高位,也即原码最左边的那一位)保持不变,数值位逐位取反(变为反码),末位(即最右边的那一位)加1,即得补码。也就是说,一个负数的补码等于该负数的反码与末位加1之和。[1]
  本文要讨论的问题即第三个要点。这一要点在许多计算机原理的教材中使用,但很少见到这一命题的完整推导或证明过程,这给学生在学习本章节内容时只能被动地接受命题,不了解例题的理论依据。因此,教师在教学中适当地从理论的高度论述原码、补码和反码之间的转换关系很有必要。本文从补码、反码的定义出发,给出这一命题的简单证明,与同行分享与讨论。
  一、对于定点负整数
  (一)、补码的定义[2]如下:
  [X]补=2n+XMOD(2n)(1)
  从定义知,一个n位二进制定点负整数,求其补码时,用2n为模数加上该负数即可。
  例如:已知n=8,X=-1010101,则
  [X]补=2n+X=28+(-1010101)
=-1010101
  (说明:28的二进制为,简记:28的二进制为1个1后有8个0)
  (二)、反码的定义[2]如下:
  [X]反=(2n-1)+X[MOD(2n-1)]……(2)
  从定义知,一个n位定点负整数,求其反码时,用2n-1为模数加上该负数即可。
  例如:已知n=8,X=-1010101,则
  [X]反=(2n-1)+X=(28-1)+(-1010101)
  有了以上定点负整数补码,反码的定义,我们就很容易地证明,对于任一定点负整数,其补码等于其反码末位加1。
  由(2)式,[X]反=(2n-1)+X,得:
  X=[X]反-2n+1
  将其代入(1)式,有
  [X]补=2n+X
  =2n+[X]反-2n+1
  =[X]反+1(A)
  根据以上推导,命题对于定点负整数是成立的。
  二、对于定点负小数
  (一)、补码的定义[2]如下:
  [X]补=2+XMOD(2)(3)
  从定义知,一个n位二进制定点负小数,求其补码时,用2为模数加上该负数即可。
  例如:已知n=8,X=-0.1010101,则
  [X]补=2+X=2+(-0.1010101)
=10-0.1010101
=10.0000000-0.
=1.0101011
  (说明:2的二进制为10,写成小数即10.])
  (二)、反码的定义[2]如下:
  [X]反=2-2-(n-1)+X[MOD(2-2-(n-1)](4)
  从定义知,一个n位定点负小数,求其反码时,用2-2-(n-1))为模数加上该负数即可。
  例如:已知n=8,X=-0.1010101,则
  [X]反=2-2-(n-1)+X
=2-2-7+(-0.1010101)
=10-0..1010101
=1.1111111-0.1010101
=1.0101010。
  (说明:2-7的二进制为0.0000001,简记为:2-7的二进制为小数点后第7位为1,其余位为0。(小数点后第7位即为8位二进制负小数的最末最右的一位)[3]
  同理,有了以上定点负小数补码,反码的定义,我们也能很容易地证明,对于任一定点负小数[4],其补码等于其反码末位加1。
  由(4)式,[X]反=2-2-(n-1)+X,得:
  X=[X]反-2+2-(n-1)
  将其代入(3)式,有
  [X]补=2+X
  =2+[X]反-2+2-(n-1)
  =[X]反+2-(n-1)(B)
  上式中,2-(n-1)的二进制即为小数点后第n-1位为1,其余位为0,小数点后第n-1位为1,即n位定点小数最右最末的一位为1[4]。因此上式:[X]补=[X]反+2-(n-1),也就是X的补码等于其反码与末位加1之和)
  根据以上推导,命题对于定点负小数同样是成立的。
综合(A)式和(B)式,可得我们要推导证明的命题成立。
  [参考文献]
  [1]俸远祯.计算机组成原理与汇编语言程序设计[M].北京:中央广播电视大学出版社,2001:3.
  [2]李明慧.计算机组成原理[M].北京:中央广播电视大学出版社,1997:10.
  [3]白中英,韩兆轩.计算机组成原理教程[M].北京:科学出版社,1988.
  [4]侯炳辉.计算机原理[M].北京:经济科学出版社,2000.
  [作者简介]叶嘉,女,广西广播电视大学理工学院讲师。黄珍生,男,广西民族学院计算机与信息科学学院讲师,信息管理与信息系统教研室主任。
[责任编辑 张宜]

我要回帖

更多关于 原码和补码 的文章

 

随机推荐