百摩网
当前位置: 首页 生活百科

计算机所有数字都是补码(计算机为何采用补码的形式来表示负数)

时间:2023-05-31 作者: 小编 阅读量: 3 栏目名: 生活百科

首先我们知道,一个数在计算机中有正负之分,这个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。因为“0”有两个编码形式,所以等于浪费了一个编码。即对于4位的二进制,使用原码或反码表示的范围为[-7,7],而使用补码表示的范围为[-8,7]。

从上文:计算机的原码、反码和补码可知,计算机有三种编码方式来表示同一个数:

  • 原码:符号位加上真值的绝对值,第一位表示符号,其余位表示值。
  • 反码:正数的反码是其本身;负数的反码是在其原码的基础上,符号位不变,其余位取反。
  • 补码:正数的补码还是其本身;负数的补码是在其原码的基础上,符号位保持不变,其余位取反,最后 1。即反码加1。

对于 1和-1,

[ 1] = [0001]原 = [0001]反 = [0001]补

[-1] = [1001]原 = [1110]反 = [1111]补

为什么计算机采用补码的形式来表示负数呢?

首先我们知道,一个数在计算机中有正负之分,这个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。

对于计算机来说,加法是最基础的运算,要设计的尽量简单。

根据加法的运算法则,a-b等于a (-b)。

如果能将符号位也参与到运算中,而非单独“辨识符号位”,就可以大大简化计算机的基础电路。

于是,人们开始探索只保留加法,并将符号位参与到运算中的方法。

1、原码:1 - 1 = 0

首先来看原码:1 - 1 = 0

1 - 1 = 1(-1)

= [0001]原[1001]原

= [1002]原

= -2

这显然是错误的。

2、反码:1 - 1 = 0

对于反码:

1 - 1 = 1(-1)

= [0001]反[1110]反

= [1111]反

= [1000]原

= -0

用反码进行计算,发现结果是对的。但有一个问题是“0”的表示有两个:

  • -0([1000])
  • 0([0000])

而0带符号是没有意义的。

且采用补码形式,对于4位的二进制,其表达的范围为:[1000]反~[0111]反,即[1111]原~[0111]原,也即[-7,7]。

因为“0”有两个编码形式,所以等于浪费了一个编码。

3、补码:1 - 1 = 0

而补码解决了反码的问题:

1 - 1 = 1(-1)

= [0001]补[1111]补

= [0000]补

= [0000]原

= 0

使用补码, 不仅仅解决了0的符号以及存在两个编码的问题,而且还能够用[1000]来表示-8,即多表示一个最低数。

即对于4位的二进制,使用原码或反码表示的范围为[-7, 7],而使用补码表示的范围为[-8,7]。

因为计算机采用补码来表示负数,所以对于编程中常用到的32位int类型,可以表示范围是:[-2^31,2^31-1] 。

相关阅读

C语言的数据类型介绍

    推荐阅读
  • 食用盐保质期

    食用盐保质期食盐的保质期是一年。食用盐是菜品中咸味的主要来源,具有提鲜味、增本味的作用;食用盐可以防腐杀菌,调节原料的质感,增加原料的脆嫩度;和面制馅时,加入适量的盐,能增加面团的韧性、促使馅心吸水上劲儿,提高泥茸的黏力。

  • 人猿泰山的故事概要(人猿泰山的真实故事)

    1、一对探险家夫妇死在丛林里,刚出生的娃被猩猩捡走养大,用脚捡水果睡树上基本就是个猴了。

  • 雁归西窗月定档(雁归西窗月讲述了什么事情)

    以下内容希望对你有帮助!雁归西窗月定档《雁归西窗月》宣布定档5月20日,腾讯视频独播,每周四五六20点更新2集,会员抢先看。该剧讲述了梁洁饰演的平凡女子谢小满得罪了吴江府有名的巨鹿郡王赵孝谦,又因他人设局与赵孝谦结下契约婚书,被迫嫁入郡王府。一纸契约让两人生活交织,从开始的欢喜冤家到逐渐相知相守,赵孝谦与谢小满携手历经坎坷,冲破重重阻碍,最终收获了一段浪漫的爱情。

  • 头孢和藿香正气水能一起吃吗 头孢和藿香正气水能一起吃吗?

    而若是与头孢类药物服用,可抑制肝脏中的乙醛脱氢酶,使乙醇在体内氧化为乙醛后,不能再继续分解氧化,导致体内乙醛蓄积而产生一系列反应,这种反应叫做双硫仑反应。但是可能会出现上述双硫仑反应,引起患者不适。通常超过24小时即认定为安全。

  • 薄荷陈皮山楂泡水喝做法功效(山楂泡水喝了对人体有什么好处)

    薄荷陈皮山楂泡水喝做法功效提高消化功能,提高人体消化功能,是山楂陈皮泡水喝的主要功效,因为陈皮中含有丰富挥发油,而山楂中则含有大量的脂肪分解酶,这两种食材一起泡水喝,能促进肠胃中消化液分泌,并能缓解人体脾胃虚弱和食欲不振,同时也能加快身体,肠胃中食物的消化与吸收。

  • 电脑开机只有屏保怎么办(电脑开机只有屏保该怎么办)

    跟着小编一起来看一看吧!电脑开机只有屏保怎么办首先用鼠标右键点击一下桌面,然后依次点击排列图标-显示桌面图标,这样不见了的图标就会又显示在屏幕上。如果是电脑本身软件出了问题导致的这种情况,可以在开机启动的时候重复按F8,再选择“最后一次正确配置”,之后如果系统恢复到之前正常使用的情况,就问题就解决了。

  • 最喜欢的一部北野武电影(日本导演北野武的经典佳作及观后小感)

    《花火》在威尼斯斩获大奖后极大的提高了北野武的知名度,它倾注了北野武在遭遇车祸导致一边脸面瘫,险些丧命的情形后对人生的一系列思考。北野武因交通事故,险些丧命。在其康复之后,半边脸已是僵硬不动,毫无生气。大不敬地说,正是这样的面瘫更是为某些银幕角色增添了独一无二的冷峻与魅力。在经受了死亡威胁的厄运之后,这部我认为是他目前为止的巅峰之作《花火》应运而生。

  • 航空驾驶证怎么考 航空驾驶证怎么考多少钱

    要认识飞机构造、进行飞行技术学习和实际高空飞行演练。

  • 韭菜粉丝素包子怎么做好吃(韭菜鸡蛋豆腐粉条包子如何做好吃)

    韭菜粉丝素包子怎么做好吃材料鸡蛋3个,韭菜半斤,粉条适量,豆腐半斤,面粉300克,水150克,盐,花椒粉,味精,香油适量。鸡蛋炒熟用锅铲剁成粒,豆腐切丁加入鸡蛋中一起炒干水分,粉条煮熟稍切一下,韭菜洗净切碎和鸡蛋豆腐一起加花椒粉,盐,味精,香油拌匀。面粉和水以2:1的比例加入适量酵母和成面团放温暖处发酵至三倍大。

  • 送礼送什么好(满满的干货送给你)

    如果是送祖辈的老人们礼物,那就以高档的滋补品为佳,他们也真正需要这些东西,很多人一去看望老人,就爱给买新衣这些东西,其实年数大的老人一般都会收到很多衣服,所以根本不缺衣服穿,而且买衣服鞋子这些还涉及到合不合适,合不合老人审美这些问题,所以还是滋补品是最好的选择。