补码反码用来干嘛(原码 反码 和补码 到底什么时候该用什么啊)
本文目录
原码 反码 和补码 到底什么时候该用什么啊
原码反码,根本就没有用处。
计算机中,只是使用补码,来表示正负数。
数字,和它的八位补码,两者的关系,可以从上表中看出来:
正数的补码,就是数字本身。
负数的补码,是:256+该负数。
两者的转换,用十进制,更方便,也不需要绕到原码反码。
什么是反码什么是补码
在计算机系统中,数值,一律用补码来表示和存储。
只要会求补码,就够用了。
-----------------
计算机,所计算的位数,是固定的。
八位机就是八位,16 位机就是 16。。。
位数,限定了之后,即使出现了进位,也不再考虑。
在这个前提下,加法、减法,就可以互换。
比如,两位十进制是 00~99。
周期是 100(即一百)。
减一,就和 +99,作用相同。
25 - 1 = 24
25 + 99 = (一百) 24
舍弃进位,加法,就能起“减法”的作用。
99,就是-1 的补数。
借助于补数,加减法,就可以统一为加法。
借助于补码,就可以简化计算机的硬件。
八位的二进制是:0000 0000~1111 1111(十进制255)。
周期是 2^8 = 256。
-1 的补码就是:256-1 = 255(二进制 1111 1111)。
-2 的补码就是:256-2 = 254(二进制 1111 1110)。
。。。
公式:
负数的补码 = 周期 + 该负数。
零和正数,不存在补码,直接就可以参加计算。
补码,就是这么计算出来的。
补码,和原码反码,毫无关系。
计算机中,也并没有原码反码,因此,就不必讨论它们。
原码,补码,反码干什么用的就二进制表示不就行了,为什么要有这些
补码、原码、反码,这些都是计算机专家创造的词汇。
事实上,它们,都不应该存在。
计算机的运算,是很简单的,和这些词汇,并没有任何关系。
--------------------------
你想象一下:
有一个小朋友,很小的,大概是三岁吧。
他只会数一百个数(0~99),会加法,还不会做减法。
那么,你可以这样教他:加 99,就是减一。
比如: 25 - 1 = 24
25 + 99 = (一百) 24
让他只取 2 位数,忽略进位,结果,就是正确的。
--------------------------
上面是一个简单的例子,却说明了一个事实:
做计算时,限定了位数,正数,就能当做负数使用。
限定了位数,有两个意义:
数值是循环的,具有周期性;
有没有进位,都不必考虑。
代替负数的正数,怎么求呢?
公式,你一定能看出来: 正数 = 负数 + 周期。
--------------------------
在计算机中,把 8 位 2 进制,称为一个字节。
计数值范围是:0000 0000~1111 1111。
对应的十进制:0 ~ 255。
计数周期,是:2^8 = 256。
此时,共有 256 个机器数。
较大的 128 个,就可以代表负数了:
-1 补码就是:-1 + 256 = 255 = 1111 1111。
-2 的补码 = 254 = 1111 1110 (二进制)。
。。。
-128 的补码 = 128 = 1000 0000 (二进制)。
较小的 128 个,就只能代表自己了:0 ~ 127。
--------------------------
减法算式: 5 - 7 = -2, 用 8 位补码计算如下:
5 = 0000 0101
-7 的补码 = 1111 1001
--相加---------------
得: (0) 1111 1101 = -2 的补码
在这里,用加法代替减法,略去进位,结果,就完全正确。
--------------------------
计算机中,用正数(补码)代替负数,减法运算也就没有了。
因此,计算机的硬件,就可以得到简化了。
所以,在计算机系统中,负数,一律采用补码表示和存储。
原码和反码,都是不用的。
它们,计算机中,根本就不存在。
--------------------------
什么是补码? 为什么要用补码?
看完上面的介绍,相信你都有了答案。
那么,原码和反码,就没有任何意义了。
这两种代码,只是用来求补码的过渡而已。
原码和反码,还有“取反加一”,都是“鸡肋”。
浪费不少时间学习这些,却不能理解【补码的意义】。
况且,用“取反加一”求 0 和-128 的补码,就办不到了。
-128,它没有原码和反码,拿什么取反加一?
-0 的补码,求出来是 0000 0000。
符号位,居然是 0 !
难道,负零,是正数吗?
有人说,零,不分正负,所有只有一个补码。
那么,原码反码中,为什么有两个零?
--------------------------
其实,原码反码符号位取反加一,就是一大篇自相矛盾的谬论。
老外数学不好,由此可见一斑。
小学生都能弄懂的事,他们竟然弄出这许多骚操作!
反码和补码是怎么回事啊
在计算机系统中,数值,一律用补码来表示和存储。
原码和反码,都是不存在的。
所以,只需掌握“数字与补码”的转换方法,就够用了。
更多文章:
乌克兰重创赫尔松俄军(赫尔松大战即将一触即发,乌军有能力攻占赫尔松吗)
2026年4月29日 06:00
publicclass是什么(public class 与class的区别)
2026年4月29日 05:40
英国潮牌represent官网(represent是什么牌子)
2026年4月29日 05:20
sharepoint用户权限(需要相应权限才能创建sharepoint列表对吗)
2026年4月29日 05:00
ubuntu微信不能登录(ubuntu10.10输入了正确的用户名密码但是无法登录)
2026年4月29日 04:00
补码反码用来干嘛(原码 反码 和补码 到底什么时候该用什么啊)
2026年4月29日 03:40
简述jquery可以对dom进行的操作(求教:jquery如何操作隐藏的DOM元素)
2026年4月29日 03:20




