Board logo

标题: [请教]关于计算机补码的一些小问题 [打印本页]

作者: 飛鳥    时间: 2004-3-5 21:23     标题: [请教]关于计算机补码的一些小问题

[这个贴子最后由飛鳥在 2004/03/05 09:25pm 第 1 次编辑]

计算机有3种表示法:原码、反码、补码。
原码:正数的符号位为0,负数的符号位为1,其他不变。
反码:正数的反码与其原码相同,负数的反码将其原码除符号位外,各位取反形成的。
   
    如:+4  反码为:000000100    -4  反码为:11111011
补码:正数的补码与其原码相同,负数的反码将它对应的反码加1形成的:

    如:+4   补码为:00000100     -4  补码为:11111100
原码和反码都好理解,就是补码偶理解错误了,-4的补码为什么会加成11111100的?

作者: bigblock    时间: 2004-3-5 23:30     标题: [请教]关于计算机补码的一些小问题

补码是最前面一位是符号位.
然后把除符号位的数字变换.再给末尾加1
4的源码是00000100
所以加上符号位变为10000100再变换数字11111011,再给最后1位+1.则变成11111100
作者: bigblock    时间: 2004-3-5 23:33     标题: [请教]关于计算机补码的一些小问题

这个是2进制.你可以换算成10进制计算再换过来.熟练就好了.
10进制:1+1=2
2进制:1+1=10

作者: 飛鳥    时间: 2004-3-6 10:47     标题: [请教]关于计算机补码的一些小问题

谢谢呀~~~~
虽然现在不是很明白~~~~但还是感谢你呀!~~~`慢慢来啦~~~~
再感谢一次!~~
作者: 飛鳥    时间: 2004-3-8 09:59     标题: [请教]关于计算机补码的一些小问题

经过一天的思考,终于理解了!!!(偶笨呀)
再感谢一次bigblock !




欢迎光临 黑色海岸线论坛 (http://bbs.thysea.com/) Powered by Discuz! 7.2