首先 先温习一下 二进制转十进制吧!
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。
eg.第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。
(for example:二进制1101,换算成十进制就是:12(1-1)+02(2-1)+12(3-1)+12(4-1)=1+0+4+8=13)
整理了一下思路 整理出的流程图如下:
于是 用python写出来了:
x = int(input("请输入二进制数:")) //输入的二进制数字
w = 0 //最终输出的十进制数
i = 0 //循环次数
while x>2 : //当x>2时进入此循环节
y = x % 10 //x÷10取余数y
w += y * pow(2,i) //w = w+y×2的i次方
i = i+1 //i+1 表循环次数
x = (int)(x/10) //x除10 舍去小数部分
w += x * pow(2, i) //最后一步循环
print(w) //输出结果
4 comments
虽然不知道说的是什么,但看起来好厉害的样子!
嘿嘿嘿~哈哈哈哈没有啦 就只是介个!
两开花,两开花 ( = ω =)ノヽ(ーv ー )
不用说了 直接开花