-10 的二进制形式是什么?它是如何计算的?
最佳答案
将 -10(十进制)转换为二进制:
反复将数的绝对值(|-10| = 10)除以2,直到商为0:
(10 / 2 = 5 R 0)
(5 / 2 = 2 R 1)
(2 / 2 = 1 R 0)
(1 / 2 = 0 R 1) // zero is the value in the quotient so we stop dividing
放置余数以获得二进制等价物:
1010
对于 8 位单元,答案是 0000 1010,对于 16 位单元,答案是 0000 0000 0000 1010,依此类推。
通过反转位取一的补码(我们假设一个 8 位单元保存最终值):
0000 1010
1111 0101 // bits are inverted
现在通过加 1 取 2 的补码:
1111 0101
+ 1
----------
1111 0110 // final answer
4 位单元会怎样?
补码是:
1010
0101 // inverted bits
取 2 的补码产生:
0101
+ 1
----
0110 // final answer for a 4-bit cell
由于数字应该是负数并且结果并不表示(数字应该以 1 开头,而以 0 开头)会发生溢出情况。
关于binary - 十进制数转二进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2160035/