二进制计算 求高人解答 谢谢!
计算33和-18两个数的加法运算
十进制
33 = 二进制
00100001
十进制
-18 = 二进制
10010010
十进制
33 的补码 =
00100001
十进制
-18 的补码 =
11101110
两个补码相加的 =
00001111
将补码转换为源码可的 =
01110001 这个数字并不等于十进制的
15
请问这是哪里出错了?给出详细答案谢谢。
------解决方案--------------------
考虑进位,溢出的处理等
------解决方案--------------------------解决方案--------------------忘了加1了,是LZ那样的!
LZ你这个相加后的结果是 00001111没错的,难道你的15转为二进制不是00001111?正数补码源码一样的,太久没用这个,都快忘光了,估计是LZ粗心算15二进制算错了
------解决方案--------------------两个补码相加的 = 00001111,这个数的符号位是0,为正数,而正数的补码就是其本身,因此00001111的原码就是00001111,即15.
正数的补码转换为原码不需要做变换,就是其本身