一个int型的负数在计算机中的二进制表示为 11111111111111111111111111111000 现为了求其原码 遂进行先减1再取反的操作减1应该是这个二进制 + 1的补码
即:11111111111111111111111111111000
+
11111111111111111111111111111111
--------------------------------
00000000000000000000000000000111这里有个疑问, 从倒数第4位开始, 由于逢2进1,每一位的计算结果为0且向上进1,如是当计算到正数第二位(符号位下一位)的1后, 向上进的那个1, 要怎么算, 就直接丢弃了吗? 符号位应该不参与计算吧!请高手解疑惑!!!
即:11111111111111111111111111111000
+
11111111111111111111111111111111
--------------------------------
00000000000000000000000000000111这里有个疑问, 从倒数第4位开始, 由于逢2进1,每一位的计算结果为0且向上进1,如是当计算到正数第二位(符号位下一位)的1后, 向上进的那个1, 要怎么算, 就直接丢弃了吗? 符号位应该不参与计算吧!请高手解疑惑!!!
解决方案 »
- struts2+spring 登录成功没问题,登录失败后继续登录不进ACTION
- 俄罗斯方块.求助.插入方块..
- 请问怎样获取计算机日志信息
- 五万条账号和密码导出
- spring ApplicationContext路径问题
- Tomcat怎么进入manager页面?
- 请人看一下这个关于多线程的程序
- 请问struts1.2中如何实现对应多个applicationResources文件
- 本人已經寫好了一個BEAN管理的實體BEAN,而且也部署好了(weblogic)!但運行測程序的時候出錯了!!!
- Struts2 Action类set get方法的作用
- 与lucene使用的淑珍中文分词器源码下载
- 谁能帮我看看,哪错了
11111111111111111111111111111000也就是
00000000000000000000000000000111
00000000000000000000000000000001
------------------------------------
00000000000000000000000000001000
结果就是-8
11111111111111111111111111111000
*10000000000000000000000000001000那就是-8
11111111111111111111111111111000
-
00000000000000000000000000000001
--------------------------------
11111111111111111111111111110111
再取反
~ 11111111111111111111111111110111
-----------------------------------
00000000000000000000000000001000