binary - 十进制数转二进制数

标签 binary computer-science

-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/

相关文章:

binary - 是否可以使用对数将数字转换为二进制?

java - 哪个数字在二进制表示中有更多的尾随零

java - 如何使用泛型方法在数组中查找整数

algorithm - 增量文档相似度算法

javascript - 用于照明的二维阵列中的圆形效果

javascript - Tic Tac Toe Science Fair 人工智能与策略

C 程序 - 从另一个文件构建索引文件

node.js - 在发送到 Node.js 服务器的请求正文中提取二进制数据(jpeg 图像)

c++ - C++如何使用fstream修改文件

computer-science - 计算机科学和软件工程有什么区别?