按位取反问题有一点不太明白的,
我的疑惑在于,按位取反"~"与在求补码时的取反是不是不同的?按位取反时,符号位要变,然后在求补码时的取反符号位不用变化.
例如:~12=-13,这个答案是肯定的了,也知道在计算机中是以补码的形式存放的,
12的二进制是: 01100 第一个0是符号位(计算机中是以补码的形式存放,所以此处也是补码)
按位取反之后: 10011 (此时符号位有变化)
这个数直接转换成十进制的话是得不到-13的.
因为10011还是存放在计算机内存中,所以这个依然是补码
因此要先转成原码再转成十进制
10011先减1,再取反便得到原码:11101 (此时符号位并没变化)
问题就是在符号位上,这里这样理解对不对呢?
按位取反"~"与在求补码时的取反是不同的?????