问题。找到代表该值所需的12位值 有符号整数:-95
因此将其转换为二进制将是:
01011111
但是要表示为2的补码带符号的二进制数,我需要将第一位设为1(表示负数或-),然后将后续位(不包括最右边的1)反转,0变为1 ,1变为0。我得到:
10100001
这是正确的吗?当它说的时候,带符号的整数意味着2的恭维,并表示正负,而第一位分别是0或1?
答案 0 :(得分:2)
首先,您将95表示为8位。要转换为12位无符号,只需在数字前面加上适当的0(0000 0101 1111)即可。如果数字是带符号的,并且希望将其转换为更多位,则需要在正确的符号前面加上
。从二进制补码到二进制补码可以通过以下步骤完成:
1. 95 to 12-bit binary: 0000 0101 1111
2. Flip the bits: Ex) 0000 0101 1111 --> 1111 1010 0000
3. Then add one: Ex) 1111 1010 0000 + 0000 0000 0001 = 1111 1010 0001 = -95
是的,您的答案是正确的。您可以通过搜索二进制/二进制补码计算器来检查类似的事情。例如:https://www.exploringbinary.com/twos-complement-converter/
当它说有符号整数表示2的恭维并表示正负数时,第一位分别是0或1?
是的,带符号整数假定第一位代表二进制数字的符号。