这是我课本里的问题之一,我们还没到,但我对这一切的运作方式很感兴趣,
在这里的第一步,我对一个补语的理解是翻转,所以在1的位置,你放0,0,你放1。这必须是8位,所以我在开始时为二进制添加了一个0,Therefre 01001001,写出以下二进制表示形式+73:
8-bit unsigned: 01001001
8-bit signed-magnitude: 01001001
8-bit one's complement: 10110110
8-bit two's complement: 10110111
8-bit excess-128: 10110111这些都是我想出的答案,但我很肯定我做错了。对此有任何澄清吗?
第二,我是如何用负的so -73来做的,二进制数是-01001001,所以我假设它是有符号的,你做的技术和上面的一样吗(假设我得到了正确的)
8-bit signed-magnitude: -01001001
8-bit one's complement:
8-bit two's complement:
8-bit excess-128: 提前感谢您的帮助
发布于 2013-03-01 06:56:55
在你指定的所有表示法中,+73是01001001,除了over-128。超过-128个它的11001001 (加上128个)。符号大小,一个补语和两个补语对于正数都是一样的,只有负数不同。在该等意见书中-73的价值是:
8-bit sign magnitude 11001001
8-bit one's complement 10110110
8-bit two's complement 10110111
8-bit excess-128 00110111一个补语‘翻转所有位’是你在补码符号中否定一个数字的方法。所以如果你有n,要得到-n,你要翻转所有的位。
“翻转所有位并添加1”是你在2的补语中否定一个数字的方法。
一个补语和两个补语都有一个奇数。对于一个人的补语,是-0 (所有位集),这实际上和0是一样的--或者你可以把它当作无效的特例,否定0。对于2的补码,是-2^(n-1) - - 128表示8位--这是一个由于溢出导致自身否定的数字。
https://stackoverflow.com/questions/15152039
复制相似问题