首页 > 编程知识 正文

电脑二进制转十进制计算器,计算器如何转二进制

时间:2023-05-04 06:07:10 阅读:171124 作者:1341

以下代码用于实现十进制转二进制、八进制、十六进制:#-*-coding:UTF-8-*- #Filename:test.py#authorby:dfghj345 #获取用户输入十进制数dec=int(input("输入数字:")) print("十进制数为",dec,":")print("转换为二进制为:",xydlf(dec))print("转换为八进制为:",oct(dec))print("转换为十六进制为:",hex(dec))1、算出2的n次幂不大于要表示的值;2、用要表示的值减去2的n次方,得到剩下的值后,重复步骤1,直到最后剩下0为止。举个例子,十进制的107如何转成二进制,先找出2的n次幂不大于107,算得n=6,用107减去2的6次方得到43。重复下来后:107=1x2^6+1x2^5+0x2^4+1x2^3+0x2^2+1x2^1+1x2^0如果该位用到,用1表示,否则用0表示。所以107用二进制表示为:01101011。扩展资料1、十进制整数转换为二进制整数原理众所周知,二进制的基数为2,我们十进制化二进制时所除的2就是它的基数。谈到它的原理,就不得不说说关于位权的概念。某进制计数制中各位数字符号所表示的数值表示该数字符号值乘一个与数字符号有关的常数,该常数称为“位权”。位权的大小是以基数为底,数字符号所处的位置的序号为指数的整数次幂。十进制数的百位、十位、个位、十分位的权分别是10的2次方、10的1次方、10的0次方,10的-1次方。二进制数就是2的n次幂。按权展开求和正是非十进制化十进制的方法。下面我们开讲原理,举个十进制整数转换为二进制整数的例子,假设十进制整数A化得的二进制数为edcba的形式,那么用上面的方法按权展开,得A=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4)(后面的和正是化十进制的过程)假设该数未转化为二进制,除以基数2得A/2=a(2^0)/2+b(2^1)/2+c(2^2)/2+d(2^3)/2+e(2^4)/2注意:a除不开二,余下了!其他的绝对能除开,因为他们都包含2,而a乘的是1,他本是绝对不包含因数2,只能余下。商得:(2^0)+c(2^1)+d(2^2)+e(2^3),再除以基数2余下了b,以此类推。当这个数不能再被2除时,先余掉的a位数在原数低,而后来的余数数位高,所以要把所有的余数反过来写。正好是edcba2、十进制小数转换为二进制小数原理关于十进制小数转换为二进制小数假设一十进制小数B化为了二进制小数0.ab的形式,同样按权展开,得B=a(2^-1)+b(2^-2)因为小数部分的位权是负次幂,所以我们只能乘2,得2B=a+b(2^-1)注意a变成了整数部分,我们取整数正好是取到了a,剩下的小数部分也如此。值得一提的是,小数部分的按权展开的数位顺数正好和整数部分相反,所以不必反向取余数了。参考资料来源:百度百科-二进制参考资料来源:百度百科-十进制

阅读全文 >

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。