二进制小数转化为十进制

 我来答
占戈爷
高粉答主

2020-09-09 · 分享会计知识的kuaiji会计爱好者
占戈爷
采纳数:1821 获赞数:19352

向TA提问 私信TA
展开全部
在本例中,我们将把二进制数10011011转换为十进制数。从左到右地列出2的幂。从20开始,结果为"1"。每向右移一位,就对其指数加1。列出的元素个数应等于二进制数的位数。在本例中,10011011有8位数字,因此应列出的8个元素:128, 64, 32, 16, 8, 4, 2, 1

02
把二进制数上的每一位数字对应地写到列表下方。

03
从右边开始,画出线条,用于把二进制数中连续的数字和其上方的2的幂连接起来。从右边开始,画一条线,把二进制数的第一个数字和2的第一个幂值连接起来。然后,画一条线,把二进制数的第二个数字和2的第二个幂值连接起来。依次类推,画出线条把每一个数字和对应的幂值连接起来。

04
扫描二进制数中的每一位数字。如果对应的数字为1,则在线条下方写下对应的2的幂值。如果对应的数字为0,则在线条下方写下0。

05
把线条下方的数相加。所得总和为155。这就是二进制数10011011对应的十进制数。或者写成基数下标的形式:

06
以上方法熟悉后,你将记得2的每一个幂值,因此可以省略第1步。

双倍法
01
该方法不需要使用幂运算。因此,当你通过心算转换较大的数值时,该方法更简单,因为你只需要记下部分和。

02
从给定二进制数最左边的数字开始。对于每一位数字,你向右移动,对之前所得总和乘以2并加上当前数值。例如,把1011001转换为十进制数,我们将采用如下步骤:

03
1011001 → 0 * 2 + 1 = 1

04
1011001 → 1 * 2 + 0 = 2

05
1011001 → 2 * 2 + 1 = 5

06
1011001 → 5 * 2 + 1 = 11

07
1011001 → 11 * 2 + 0 = 22

08
1011001 → 22 * 2 + 0 = 44

09
1011001 → 44 * 2 + 1 = 89

10
和按位记数法一样,本方法经调整后也能把基于任何基数的数转换为十进制数。在这里采用双倍法因为这里给定的数是以2为基数的。如果给定的数是基于不同的基数,则应本方法中的2换成对应的基数。例如,如果给定数是以37为基数,则你在计算时应把*2换为*37。而最终的结果则总是对应的十进制数(基数10)。 :)

特别提示
练习。尝试转换二进制数11010001、11001和11110001。它们对应的十进制数分别是209、25和。

Microsoft Windows上的计算器能帮助你完成不同数制中的数的转换,但作为一名程序员,你应该理解并掌握转换的方法。计算器中的转换选项可以通过选择"查看"菜单中的"科学型"(或 "程序员")。在Linux上,你可以使用galculator。

这里使用的是无符号二进制数,而非有符号数、浮点数或定点数
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式