1的补码和2的补码(什么叫做补码)
本文目录
什么叫做补码
补码,应该是最容易理解的知识了。
小学生都可以自己摸索出来。
按照四位二进制来说,共有 16 组代码。
数字 0 的二进制,就是 0000,
数字 1 的二进制,就是 0001,
。。。
数字 7 的二进制,就是 0111。
可见下表:
零和正数的补码
负数怎么办?
就从 0000,依次向下减,就行了。那么:
数字-1 的二进制,就是 0000-1 = (1) 1111 = 15(十进制)。
(括号中的 1,是借位,舍弃不要了。)
数字-2 的二进制,就是 1111-1 = 1110 = 14。
数字-3 的二进制,就是 1110-1 = 1101 = 13。
。。。
数字-8 的二进制,就是 1000 = 8(十进制)。
(别再减了。再减,就是 0111 = +7 了。)
可见下表:
负数的补码
综合到一起,就是-8~+7 的四位补码。见下表:
四位补码
总结:
零和正数的补码,就是数字本身(也可转为二进制)。
负数的补码,就是: 16+这个负数。
(如果是 8 位二进制,就改用: 256 + 这个负数。)
--------
整个推算过程,并不需要使用“原码反码符号位”这些垃圾。
计算时,使用十进制,简单方便。得出的补码,当然也是十进制。
如果需要二进制,就变换一下。
补码,很难吗?
如果不涉及原码反码符号位,就一点也不难。
-----------
补码有什么用呢?
利用补码,可以把减法运算,转换成加法。
(所以,在计算机中,有一个加法器,就够用了。)
例如:6-2 = 4,用补码运算如下:
6 的补码是 0110、-2 的补码是 1110。
0110 + 1110 = (1) 0100 (= 4 的补码)
(括号中的 1,是进位,舍弃不要了。)
注意:
如果运算结果超出了-8~+7 的范围,结果将是错的。
这种现象称为“溢出”。
再注意一下:进位,并不等于溢出。
---------
因为补码的这个特性,所以,在计算机中,只是使用补码存放数据。
而原码反码,在计算机中,都是不存在的。
原码反码 的用途,只是用于“笔算”。
其实,笔算的方法,并非只有“取反加一”。
原码反码,只是砖家为了增加收入,瞎编的垃圾而已。
所以,大家,完全不必在原码反码 上浪费时间精力。
但是,考试怎么办?
呃 ...,千万别跟老师较劲,他怎么讲,你就怎么答吧。
求补码的方法
求补码分两种情况:
一,正数:正整数的补码是其二进制表示,与原码相同。(正整数的原码,补码和反码都一样)
二,负数:求负整数的补码,就是将其对应正数二进制表示所有位取反然后加1,0变1,1变0,符号位为1不变。
同一个数值在不同的系统中表示的形式是不一样的,这是因为可以分成8位二进制和16位二进制。
扩展资料:
计算机中的符号数有三种表示方法,即是原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
一个规定:
数0的补码表示是唯一的。
原=00000000
补=11111111+1=00000000
计算机补码是什么
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表示指数】“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数.任何有模的计量器,均可化减法为加法运算. 例如: 假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法: 一种是倒拨4小时,即:10-4=6 另一种是顺拨8小时:10+8=12+6=6 在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替.对“模”而言,8和4互为补数.实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特性. 共同的特点是两者相加等于模,对于计算机,其概念和方法完全一样,n位计算机,设n=8, 所能表示的最大数是11111111,若再 加1称为100000000(9位),但因只有8位,最高位1自然丢失.又回了00000000,所以8位二进制系统的模为2^8. 在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了.把补数用到计算机对数的处理上,就是补码.
更多文章:

android开发环境(android开发环境搭建 xp 需要注意哪些)
2025年3月20日 23:30

ticking time是什么意思(ticking time 的意思是什么 急用)
2025年2月28日 03:10

extjs dataview(Ext.Net DataView 显示图片,每行只能显示一张图,想要一行多显示几列,要怎么做急,在线等)
2025年3月16日 07:30

ordinary什么意思(“ordinary’’是什么意思)
2025年2月9日 02:40

如何获取XSS测试平台邀请码?自己搭建的xss平台需要域名吗
2025年3月27日 14:00

pythonfor循环嵌套(python中常见的循环结构有两种实现方式分别是)
2025年2月23日 15:30

textbox换行符号(vb.net textbox控件换行时自动在行尾添加一个 ; 这个符号,代码怎么写)
2025年3月11日 22:00

焦点图和banner的区别(ui设计:流行的几种banner的处理类型)
2025年2月17日 14:50