int a=10; int i=~a; 结果i=—11,为什么? 在Java中 谢谢
展开全部
首先要知道 “~”是取反位运算符,一个正数的取反加一得到的结果就是这个数的负数
也就是说 10取反加1得到的就是-10,但是这里取反没有+1,所以结果就是-11
也就是说 10取反加1得到的就是-10,但是这里取反没有+1,所以结果就是-11
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-10-04
展开全部
计算机中表示数字使用补码, 负数=对应正数取反+1
10在二进制表示为 1010,其余位为0 ;
作取反运算后变成
0101,其余位为1 ;
0101符号位是1; 表示的就是-11
10在二进制表示为 1010,其余位为0 ;
作取反运算后变成
0101,其余位为1 ;
0101符号位是1; 表示的就是-11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询