一道笔试题...关于按位取补的 //请教一个笔试题,: public static void main(String[] args) { // TODO Auto-generated method stub int i= 0xFFFFFFFA; int j=~i; System.out.println(i); System.out.println(j); } /*结果为什么是: -6 5 为什么*/ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这哪有为什么。自己把对应的二进制位画出来看看就是了。0xFFFFFFFA 是1111 1111 1111 1111 1111 1111 1111 1010按位取反 0000 0000 0000 0000 0000 0000 0000 0101理解补码表示的原理即可。 经javaeye高手指点,我明白了。。负数在电脑中用补码表示,计算出0xFFFFFFFA的补码为:1000 0000 0000 0000 0000 0000 0000 0101 再+1就等于 1000 0000 0000 0000 0000 0000 0000 0110 第一个1表示负数,后面0110就是6 ,那么结果就是-6 int j=~i; ~ 符号表示取反 i=1111 1111 1111 1111 1111 1111 1111 1010 ,取反则为 j=0000 0000 0000 0000 0000 0000 0000 0101 就等于5了。 关于项目重构问题 求drawArc和fillPolygon的具体实现方法(用画像素点的方法) 请问下,能够用java设置ip地址吗?谢谢 除了第一语言Java之外,大家掌握的第二语言可以是什么? 请写出下面代码的输出结果 (12) 我把接口里的方法都实现了,为什么还出现这样的错误 GUI图形如何实现动态的放大和缩小 new ImageIcon("yellow-ball.gif"), Color.YELLOW);不显示图片?? 国人开发的免费工具,支持者有分 通信问题,紧急,求救!!!在线等待! 数据库的。。。 jTable 单元格编辑后上传的问题
自己把对应的二进制位画出来看看就是了。
0xFFFFFFFA 是1111 1111 1111 1111 1111 1111 1111 1010
按位取反 0000 0000 0000 0000 0000 0000 0000 0101理解补码表示的原理即可。
1000 0000 0000 0000 0000 0000 0000 0110 第一个1表示负数,后面0110就是6 ,那么结果就是-6 int j=~i; ~ 符号表示取反
i=1111 1111 1111 1111 1111 1111 1111 1010 ,取反则为
j=0000 0000 0000 0000 0000 0000 0000 0101 就等于5了。