c语言为什么负数等于正数
时间: 2023-07-13 16:04:04 浏览: 149
C++负数赶正数
在 C 语言中,负数的表达方式采用的是补码表示法。在补码中,负数的最高位为1,而正数的最高位为0。因此,如果我们将一个正数和一个负数相加,就相当于在二进制中进行了一个减法操作。具体来说,我们需要将负数取反后再加上正数,最后再将结果的补码形式转换为原码形式即可。
举例说明:
假设我们要计算 -3 + 2
-3 的补码为 11111101,2 的补码为 00000010
先将 -3 取反得到 00000011,然后加上 2 得到 00000101
最后将 00000101 转换为原码形式,得到 5,即 -3 + 2 = 5
因此,在 C 语言中,负数等于正数的原因是因为采用了补码表示法。
阅读全文