C语言~12 按位取反的结果 是什么?
C语言~12 按位取反的结果 是什么?
日期:2017-11-25 01:06:10 人气:1
详细给你解释下:
12的二进制如下: 00001100
取反后: 11110011 这是一个负数的补码形式,但这是哪个负数的补码呢?
我们先看看负数的补码如何表示的。【负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。】
我们返回去弄:
先把11110011-1=11110010
然后符号位以外取反:10001101
看看除符号外的数:0001101 是13 所以这个数是-13
所以:~12=-13
这是百科上的相关知识点:
【求-