错题1:(关于补码反码)
Posted zzw3014
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错题1:(关于补码反码)相关的知识,希望对你有一定的参考价值。
:这道题的正确结果是什么?
int i=5; int j=10; syso(i+~j);
首先要明白在计算机中都是以补码形式存储数据的。
正数的原码、反码、补码都是一样的,负数的补码等于反码+1
~符号是单目运算符,代表按位取反,结果的每位值和原始值均相反,即原本为1结果为0,原本为0,结果为1。
例如:8位的数字在计算机中就是存储为: 1111 1111 --> 0000 0000 -->0111 1111 (-128-->0-->127) 所以数字在计算机中的存储都是有带符号位的。
解:10:原码为 0000 0000 0000 1010,补码也是这个
~10:1111 1111 1111 0101(变为负数) 补码就为:1000 0000 0000 1011 =-11,所以输出结果为-6.
以上是关于错题1:(关于补码反码)的主要内容,如果未能解决你的问题,请参考以下文章