二进制补码的真值怎么算(二进制补码的计算原理) |
您所在的位置:网站首页 › 补码相加怎么算 › 二进制补码的真值怎么算(二进制补码的计算原理) |
二进制补码的真值怎么算(二进制补码的计算原理)
姊恏美 2022-11-19 13:59:50 收藏 赞 分享 分享到:
我们以8位二进制为例,计算5-2=3,用二进制表示为: 00000101(原) 10000010(原) =00000101(原) 11111101(反) =00000101(原) 11111110(补) =00000011 补码计算方法是在其原码的基础上, 符号位不变, 其余各位取反再加一,那么补码为什么要这么算,其中的原理是什么呢?1、为什么要取反再加一? 仍以上面的8位二进制数为例,模是100000000,即2^8=256,十进制数2的8位二进制数表示是00000010,取反得到11111101,二者相加:00000010(原) 11111101(反)=11111111,而11111111 1=100000000(模), 由以上可以看出:二进制数原码加上取反后得到的值再加一就刚好得到模。而已知原码 补码=模,因此能够得出结论:补码等于原码取反加一,这是计算补码最简单的方法。在这个过程中,反码没有什么实质意义,它只是计算机为了计算补码时的一个中间量。 2、为什么符号位可以参与运算,和其它位统一处理? 在计算机中正数和负数存储方式是不同的,我们通过观察二进制数第一位是0还是1可以知道这个数是正数还是负数。如果它的第一位是0,那么它就是正数原码,如果它的第一位是1,那么它就是负数补码。这里的符号位其实是算出来的,所以它可以参与运算。 我们仍以8位二进制为例,计算2-5=-3,用二进制表示为: 00000010(原) 10000101(原) =00000010(原) 11111010(反) =00000010(原) 11111011(补) =11111101 计算结果11111101第一位为1,那么这个数值是负数补码,反求原码=(00000010)反 1 =00000011= 十进制数3,由此可知,11111101表示的是负数的3,在运算过程中我们没有考虑符号位,仅用单纯的加法运算进行运算,而得到的结果11111101也没有人为去添加一个符号位,符号位是计算所得的,因为在计算过程中存在第一位为0则是正数,为1则是负数这个规律,于是我们认定第一位为符号位,也就是先有规律之后才有规定。 , 展开全文免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |