电脑计算器怎么算十进制转二进制

电脑计算器怎么算十进制转二进制,第1张

以下代码用于实现十进制转二进制、八进制、十六进制:

#-*-coding:UTF-8-*-#Filename:testpy#authorby:dfghj345#获取用户输入十进制数dec=int(input("输入数字:"))print("十进制数为",dec,":")print("转换为二进制为:",bin(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。

十进制整数转换为二进制整数原理

众所周知,二进制的基数为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位数在原数低,而后来的余数数位高,所以要把所有的余数反过来写。

在电脑自带的计算器中启用“程序员”设置,即可进行16进制转换10进制的 *** 作。具体 *** 作请参照以下步骤。
1、在电脑的任务栏中找到“开始”图标,然后进行点击进入开始菜单界面。
2、在开始菜单中,依次点击选项“所有程序/附件/计算器”,就会进入计算器界面。
3、在计算器的查看选项页面中找到“程序员”选项后点击。
4、在出现的界面中,首先选中“十六进制”选项,然后输入需要转换的十六进制数,这里演示为“E”。
5、输入完后,点击软件界面中的“十进制”选项,计算栏中就会出现十六进制数“E”对应的十进制数“14”。如果要十进制数转十六进制数,就先输入十进制数,再点击十六进制选项。完成以上设置后,即可在电脑计算器中进行16进制转换10进制的 *** 作。

计算机还是计算器。。。。
运算规则:
运算规则就是进位或错位规则。例如对于二进制来说,该规则是

满二进一,借一当二

;对于十进
制来说,该规则是

满十进一,借一当十

。其他进制也是这样

三、二进制转化成其他进制

1
二进制(
Binary

——
>
八进制(
Octal


例子
1
:将二进制数(
10010

2
转化成八进制数。


10010

2=

010 010

2=

2 2

8=

22

8

例子
2
:将二进制数(
010101

2
转化为八进制数。


010101

2=

0 101 010

2=

0 5 2

8=

052

8
诀窍:
因为每三位二进制数对应一位八进制数,所以,以小数点为界,整数位则将二进制数从右向左每
3
位一
隔开,不足
3
位的在左边用
0
填补即可;小数位则将二进制数从左向右每
3
位一隔开,不足
3
位的在右边用
0
填补

电脑中自带的计算器,在查看中选择科学计算器
例:十六进制FFFF转换二进制
再左面有各进制的选择,先选中十六进制,就是前面的小圆圈圈,然后键盘会变成相对应十六进制的格式,输入或点击FFFF,然后再选中二进制前面的小圆圈圈,就会自动显示转换完的结果
其他同理

给你指出一条捷径吧!
使用电脑中自带的计算器
点查看菜单,选择科学型
再点二进制、八进制、十进制、十六进制的复选框即可
非十进制转换为十进制:
1数值按权展开:
规律如下(比较简单):
1361=110E2+310E1+610E0+110E-1
10101B=12E2+02E1+12E0+02E-1
+12E-2
2cH=216E1+c16E0=44
//B表示2进制,H表示16进制
//E科学记数
即次方后接次方数
16E1
就是
16的1次方
十进制转换为二进制
1除二取余(整数部分),乘二取整(小数部分)
除二取余:把十进制整数除以2得到商和余数,在将所得到的商除以2,又得到新的商和余数,这样不断的用二去除商,直到商为0为止
每次除的的余数便是相应的二进制数码最先得到的是最的有效位,最后得到的是最高有效位
如:11的二进制
11/2=5--1
5/2=2--1
2/2=1--0
1/2=0--1
//是整除,即二进制位
1011(从后面开始往上读,高位低位的问题)
乘二取整:
对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分
如此不断重复,直到小数部分为0或达到精度要求为止第一次所得到为最高位,最后一次得到为最低位
如:025的二进制
0252=05
052=1
即025的二进制为
001
(
第一次所得到为最高位,最后一次得到为最低位)
十进制转八进制和十六进制
方法和转二进制相同,也可以用这种方法转换到其他进制

90875
转换到16进制
90/16=5--10
5/16=0--5
整数部分就是
5A(10进制的10
对16进制的A)
087516=14
小数部分就是
E(10进制的14
对16进制的E)
其他进制间的互相转换
用二进制数编码,存在这样一个规律:n位二进制数最多能表示2的n次方种状态因此,诺用一组二进制数表示具有十六种状态的十六进制数,至少要4位(16=2的4次方)同样八位要
3位
如:将11110101001110111B转换为16进制
从小数点开始,分别向左右4位一组划分,不足4位的补0,然后将每组4位的二进制数以1位的十六进制数取代即可
1111
0101
0011

1011
1000
2
A
F

C
5
(二进制对应的16进制数)
其他进制间的转换一样的方法自己把握要点

电脑上的常用进制有:2、8、10、16四种,在修改中经常接触的是2、10和16进制,基本上需要了解的是2和16互转、10和16互转,其他多了解也没亏
2转16:

4个2进制位为一个16进制数,2进制1111为16进制F,2进制中千位的1=8,百位的1=4,十位的1=2,个位的1=1,将各个位的数作相应转换再相加,的到的数就是10进制数0-15,可轻松转换成16进制。如01011100,可看成是两组2进制数0101和1100,则这个数就是16进制的5C。
10转16:

100以内一点的10转16心算比较快,复杂的用“计算器”算了。10转16用传统的计算方式可以了,就是大于15小于256的10进制数除以16为的值为十位的16进制数,其余数为个位的16进制数,没余数则个位为0。如61的16进制是3D,61除以16得3余13,3作十位数,13转成D为各位数。
16转10:
用相反的道理,将十位数乘以16加上个位数。如5A,将5乘以16得80,加上A的10进制10,结果是90。
最直接方便的方法是用windows或win95中的计算器,打开计算器,将计算器置成科学型(win95的乘法),选中十进制选择钮,输入十进制数然后选择二进制选择钮,OK!又快又准确。可是如果你想成为一个合格的程序员的话,你就必须充分了解十进制数和二进制数的特点,最好的方法是你多做一些进制转换的题目,这是程序员训练中的传统做法。
三、以十六进制作桥梁
十进制到二进制的转换实在麻烦,而且二进制数实在不易记忆和理解,你能马上感觉到一万元是多少钱,但是你能感觉到10011100010000(二进制)是多少吗?为了编程和使用方便,在二进制和十进制之间有了一座桥梁十六进制。十六进制是逢十六进一,0、1、2、3、4、5、…9、A、B、C、D、E、F、10、11、12……。到了9以后用ABCDEF表示,十六进制数与二进制数的转换非常方便。
首先你应当牢记下表
二进制 十六进制
0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F
二进制数转换成十六进制数方法如下,以二进制数1101110为例:
将二进制数从右面开始以四位为一组分组,最左面不够四位的补0,按上表查得对应的十六进制数,组合起来以后就成了。
0110 1110的十六进制数是6E
十六进制转换成二进制方法如下,以十六进制数3E为例:
将十六进制的每一位转换成四位二进制数,不足四位的在左面补0,组合起来即可得到二进制数。
3E的二进制数是00111110,既是111110
当然你也可以用计算器得出结果。但也建议你熟练掌握。
也许热爱改游戏的你已经猜到,这就是你在改游戏的时候为什么总是与2A、3B、4C、5D、EF等奇怪数字打交道的原因了。它们表示的十六进制数。
怎么样够烦人的吧?我也曾经这样认为,为了进一步更好更快地掌握学习游戏编程,你必须了解这些进制转换。

(65625)10
=(1000001101)2
=(21021212121212121212)3
=(100122)4
=(2303030303030303030)5
=(145343)6
=(1224242424242424242)7
=(1015)8
=(725555555555555555)9
=(65625)10
=(5A6969696969696969)11
=(5576)12
=(508181818181818181)13
=(498A7)14
=(459595959595959595)15
=(41A)16

十进制转其它(a)进制
整数部分(或商)除a取余,直到商为0为止;小数部分乘a取整,直到小数部分为0为止;拼接时,整数部分逆序拼接、小数部分顺序拼接,中间用小数点连接。
2、a进制转十进制
以a进制的每一位的值为系数乘上每一位的权(a^i--对“个”位,i=0;对“十”位,i=1;对小数点后第1位,i=-1;其余类推),再累加起来即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13353685.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存