哦,原来是这样啊!谢谢你
那你知道位运算中的取反运算~0为什么等于-1呢
刚学c语言的小菜鸟一只
追答~ 是位运算。逻辑运算和位运算完全是两种不同的方法。
初学者,要首先分清三类运算:数值运算、逻辑运算、位运算。每种运算都有自己的特殊之处,如果混淆了,很容易懵。
可是位运算中的取反不应该是~0=1呢?为什么又是-1呢?
追答位运算,是16进制运算,或者说二进制运算。因为计算机就是以二进制存储。
-1的实际存储是0xffff,每一位都是1,位取反运算是全0,就是0.
那要是按二进制运算的话,-1的实际存储是10000001,取反后不就是01111110吗?
追答负数是补码存储,-1在内存中,为全1.
建议仔细看看书,位运算的基础知识很重要。
哦哦,我去翻翻书去