Java中位运算,对整数5按位取反怎么算

就是~5怎么算答案是-6,按我的理解是先把5转换成二进制数,然后按位求反,结果得到的答案却不是-6啊。还有按位与,比如5&2怎么算等于0啊,请教高手详细讲解!... 就是~5怎么算答案是-6,按我的理解是先把5转换成二进制数,然后按位求反,结果得到的答案却不是-6啊。还有按位与,比如5&2怎么算等于0啊,请教高手详细讲解! 展开
 我来答
匿名用户
2013-07-19
展开全部
转二进制取反得到的也是-6
你再把它转成10进制数就能看到结果了
5(2) = 101
2(2) = 010
&是安位与,两个都是1才得1
所以上面5和2对应1的位数刚好叉开了,&后得到000,也就是0了
匿名用户
2013-07-19
展开全部
5:00000101取反:11111010因为数在计算机里是用补码形式存放的...所以要把11111010看做一段补码现在把补码转化为原码,第一位是符号..不用变..先变成反码..减1就可以..11111001再变为原码10000110,即-6 5&25:000001012:00000010与就是各个位做与运算..1&0=00&0=01&1=1结果就是00000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-07-19
展开全部
首先确定是8位的二进制..以10为例原码:00001010第一个0仅仅代表这是正数...真正表示10的二进制是后7位...因为是正数..那么反码...补码..都是一样的..即00001010如果是-10的话..首先第一位确定是1..表示是负数..这位是不变的原码是10001010..反码是11110101...补码是11110110在计算机里存放的是补码..11110110
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式