首页 > 编程知识 正文

5按位取反,负数按位取反怎么算

时间:2023-05-04 15:03:34 阅读:39477 作者:831

按位进行反转~运算

首先,让我们逐位看看相反的概念

按位取反运算符:对数据的每个二进制位取反,即把0变成1,把1变成0.

即~x=-x-1

这里遵循定义

的二进制文件为00001001

每位反转为11110110

结果是-10

这个过程没有任何问题,但是如果忘记了负数的二进制表示,就会对这个结果产生疑问。 为什么11110110表示-10而不是503? 理解逐位取反的密钥是理解11110110为什么是-10,即表示负数的二进制表示。

目前,计算机普遍使用补码来表示负数。

知道补码,求源码的方式是:值取反再加1。

补码的第一位符号位决定源代码正负,第一位以0源代码为正,第一位以1源代码为负。

在上面的示例中,9按位反转得到11110110,其第一位为1,源代码为负值。

反过来为00001001,再加上1则为00001010,其值为10,加上负号则为-10。

即~9=-10

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