黑马程序员技术交流社区

标题: 求解,进制转换 [打印本页]

作者: 张东贤    时间: 2013-3-23 13:15
标题: 求解,进制转换
本帖最后由 张东贤 于 2013-3-23 18:21 编辑

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



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

不管怎样谢谢大家热心回答,我仔细看了下integef源码,发现,正数可以用摸与2再除2的方式,负数,则不行!
作者: 于腾飛    时间: 2013-3-23 13:29
进制转换

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

1360062587_3787.jpg

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2