A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张东贤 中级黑马   /  2013-3-23 13:15  /  1139 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张东贤 于 2013-3-23 18:21 编辑

负数的取反再加1操作,操作怎么搞啊,十进制转二进制



手机提问伤不起,求代码体现!!

不管怎样谢谢大家热心回答,我仔细看了下integef源码,发现,正数可以用摸与2再除2的方式,负数,则不行!

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,谢谢  发表于 2013-3-23 17:32

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

2 个回复

倒序浏览
进制转换

1360062587_3787.jpg (55.44 KB, 下载次数: 0)

1360062587_3787.jpg

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果是编程的话就不用考虑了,编译器会自动帮你做,你只需要知道每个类型的数据表示范围就行了,(超出会出现数据溢出),如byte最大只能表示127(有符号),
另外,关于 补码是这样子的,例如4整个数(为了方便起见以八位为例,也就是一个字节):
5的二进制:00000101
-5为:10000101
-5的反码为:01111010
-5d的补码就为(也就是反码+1):01111011
正数的补码就是原数,也就是说反码补码与源码一样,因为反码存在的意义就是方便计算机做加法计算,CPU说白了就是一个加法器,只能做加法计算,其他的运算操作都是变相的加法,如乘法是连加。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马