日期:2014-05-17  浏览次数:21060 次

二进制计算 求高人解答 谢谢!
计算33和-18两个数的加法运算
十进制 33  = 二进制  00100001
十进制 -18 = 二进制  10010010
十进制 33 的补码 = 00100001
十进制 -18 的补码 = 11101110

两个补码相加的 = 00001111
将补码转换为源码可的 = 01110001 这个数字并不等于十进制的15
请问这是哪里出错了?给出详细答案谢谢。
二进制

------解决方案--------------------
引用:
哪里有这么简单,你可以去翻翻计算机组成原理,关于补码加减运算

考虑进位,溢出的处理等
------解决方案--------------------

------解决方案--------------------
引用:
十进制 -18 = 二进制  10010010
十进制 -18 的补码 = 11101110
其他的什么都不说就看你这个补码的转化就有问题了,负数的补码转化是各位取反末尾加1的,应该是11101101的
忘了加1了,是LZ那样的!
LZ你这个相加后的结果是 00001111没错的,难道你的15转为二进制不是00001111?正数补码源码一样的,太久没用这个,都快忘光了,估计是LZ粗心算15二进制算错了
------解决方案--------------------
两个补码相加的 = 00001111,这个数的符号位是0,为正数,而正数的补码就是其本身,因此00001111的原码就是00001111,即15.

正数的补码转换为原码不需要做变换,就是其本身