2的补码转换

时间:2015-09-04 02:03:41

标签: binary hex

老实说,我正在做一些功课,并且坚持使用2的补充概念。所以我的问题要求我在二进制和十六进制中找到492和-1094(为16位数)的2的补码。但我真的对它的工作方式感到困惑。所以我做了492的二进制文件,而我的版本就像 0000 0100 1001 0010 但是我真的迷路了,对我的答案感觉不对。有人可以帮助我......谢谢!

2 个答案:

答案 0 :(得分:1)

二进制492转到0001 1110 1100

1 * 2 ^ 8 + 1 * 2 ^ 7 + 1 * 2 ^ 6 + 1 * 2 ^ 5 + 0 * 2 ^ 4 + 1 * 2 ^ 3 + 1 * 2 ^ 2 + 0 * 2 ^ 1 + 0 * 2 ^ 0

二进制的

-1094转到0100 0100 0110

表示负数的技巧:你必须转换为二进制并翻转所有数字(0变为1,1变为0)并加1。

答案 1 :(得分:1)

因此,要计算2的补码,您只需执行以下操作:

对于某些数字B,反转它的二进制表示,并加1。

对于492:

111101100
000010011 <-- invert
000010100 <-- add 1

对你的-1094的二进制表示做同样的事。