首页 > 编程知识 正文

二进制取反运算器,计算器二进制取反

时间:2023-05-03 21:26:34 阅读:190328 作者:160

总结起来,我有点疑问。

目录

1、关于二进制显示

1、正数补数

2、负补数

3、取逆运算

1、关于二进制表示这里有几个概念,关于原码、二维码、反码

补数)在计算机系统中,数值一律用补数表示(被存储)。

(正数补数是其原始代码。 例如,如果十进制8,其二进制的源代码表示为00001000,则其补数为00001000。 最高有效位为符号位。 这里,用0000 1000的红色表示的0是符号比特,0表示正数,如果是1则表示负数。 例如,如果是1000 1000,则表示-8。 )

128明明可以表示为10000000,那么不知道是否有最高位是符号位的嫌疑。 那个10000000不应该表示负数吗? 其实我自己的理解错了,所以我来说明。 首先128是整数,整数是4字节,字节是8位。 因此, 128的正确源代码是000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 可以用以下一句话来回答。

8位二进制码的有符号数范围只有-127~ 127 (补数为-128~ 127 ),所以表示128需要9位二进制码。 从这句话可以看出,需要的字节数应该由整数的大小决定,不必列出所有的字节。 上例中的8在1字节表示的数字范围内,因此可以直接用8位二进制表示,最高位表示符号位。

所以理解数据的二进制表示,接下来开始理解。

1、用正数补充正数后,反码=补数=原码

2、负数补上负数会有点复杂

例如(-4 ) )。

首先,(4)的二进制文件是0000 ) 0100

因此,(-4 )的二进制文件为1000 ) 0100

(4)的反转(取反转) :符号保持1,后面的各位取反转,成为1111 ) 1011

(4)补数)用反码加1,用二进制数相加,用二进制数加1。 会是1111 1100

3、逆运算计算机的运算符逆运算是如何计算的呢?

例如,0011 1100表示整数60是在计算机上执行反向操作的结果-61。 这是什么意思?

先来取反,拿到1100 0011。 如果我们简单加起来就是195,不是-61吗?

OK,我知道计算机里互补地存储着数据。 所以,要取相反的二进制码,需要求出其补数。 此时的补数表示最后的整数。 让我们来看看。 这里,1100 0011的最高有效位是1。 这表明是负数。 那么,需要先取相反的二进制数,然后再相反。 符号比特不变,为1011 1100。 补数=反符号1,所以1011 1100加1成为1011 1101。 此时,转换为十进制时为-61。

上面的方法用来理解为什么是-61就可以了,但是要计算的话这里还有一个快速的方法。

相反得到的1100 0011表示整数195,可以直接使用195-256=-61

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。