关于~按位取反运算符的问题.

日期:2017-12-16 11:24:21 人气:1

关于~按位取反运算符的问题.

输出结果是-8。你忽略了很重要的一点:数据是以补码存储的。 int a=007; 那么存储的二进制为: 0000...0111 (共32位) 取反~a后得:1111...1000 (共32位) 但是这是补码 将补码换算成原码:1000...1000(共32位)即-8 正整数补码=原码 负整数补码=原码符号位不变,其他位按位取反加1 具体请百度一下
    A+
热门评论