1. 关于计算机的进制转换方法
进数转换:
1、二进制数、十六进制数转换为十进制数(按权求和)
二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.
例如:把(1001.01)2 二进制计算。
解:(1001.01)2
=8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)
=8+0+0+1+0+0.25
=9.25
2、十进制数转换为二进制数,十六进物答孙制数(除2/16取余法)
整数转换.一个十进罩链制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到——简称除二取余法.
例:将25转换为二进制数
解:25÷2=12 余数1
12÷2=6 余数0
6÷2=3 余数0
3÷2=1余数1
1÷2=0 余数1
所以25=(11001)2
同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.
例:将25转换为十六进制数
解:25÷16=1 余数9
1÷16=0 余数1
所以25=(19)16
3、二进制数与十六进制数之间的转换
由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.
十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可——简称位分四位。
例:将(4AF8B)16转换为二进制数.
解: 4 A F 8 B
0100 1010 1111 1000 1011
所以(4AF8B)16=(1001010111110001011)2
所以(111010110)2=(1D6)16
转换时注意最后一组不足4位时必须加0补齐4位
(1)电脑中进制转换方法扩展阅读:
数制转换的一般化
R进制转换成十进制:任意R进制数据按权展开、相加即可得十进制数据。
例如:N = 1101.0101B = 1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4 = 8+4+0+1+0+0.25+0+0.0625 = 13.3125
N = 5A.8H = 5*16^1+A*16^0+8*16^-1 = 80+10+0.5 = 90.5
2)十进制转换R 进制
十进制数转换成R 进制数,须将整数部分和小数部分分别转换。
参考举逗资料:网络-进制
2. 在电脑的计算机中,如何把十进制转换成二进制
以下代码用于实现十进制转二进制、八进制、十六进制:
# -*- coding: UTF-8 -*-# Filename :test.py# author by : 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)电脑中进制转换方法扩展阅读
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位数在原数低,而后来的余数数位高,所以要把所有的余数反过来写。正好是edcba
2、十进制小数转换为二进制小数原理
关于十进制小数转换为二进制小数
假设一十进制小数B化为了二进制小数0.ab的形式,同样按权展开,得
B=a(2^-1)+b(2^-2)
因为小数部分的位权是负次幂,所以我们只能乘2,得
2B=a+b(2^-1)
注意a变成了整数部分,我们取整数正好是取到了a,剩下的小数部分也如此。
值得一提的是,小数部分的按权展开的数位顺数正好和整数部分相反,所以不必反向取余数了。
3. 计算机常用进制及相互转换
计算机中的二进制
在计算机中使用 补码表示闷启信息
在计算机中一个数据位 为 1bit ,一个字节由8个bit表示 称为 1Byte
计算机中常用的进制转换
8b = 1B
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
二进制转换为十进制
0010 0011=1x2^5+1x2^1+1x2^0=35
八进制转换为十进制
0234 0756
八进制以0开头,二进制数以0b开头,十六进制以0x开
0023 0067转换为十进制数方法为下:
2x8^5+3x8^4+6x8+7=77879
十六进制转换为十进制
0001 12ad = 1*16^4+1x16^3+2x16^2+10x16+13=70317
十进制转换为2进制
除数逆取余:简述就是十进制数除以二,分别依次可以得到0与1,一直除到出不掉2为止,余数取1,按照蚂碰如逆顺序排列余数,所得的余数的集合就是该十进制数的二进制形式。
33 ===》 0010 0001
十进制转换为八进制
78 78/8=9......6 9/8=1......1 1/8=0......1,所以结果逆取余数:116
116/8/=14......4 14/8=1......6 1/8=0......1所以同上方:164
十进制转换为16进制
486/16=30......6 30/16=1......14
1/16=0......1 所以按照除数逆取余原则结果为: 1e6
常用进制之间的转换
将其他进制转换为十进制
方法 : ==位权展开法==
权重的计算方法 (进制) [位数-1] 进制的位数-1次幂
==每一位数字与对应的权重相乘,然后将乘积相加==
二进制转十进制
八进制转十进制
十六进制转十进制
将十进制转换为其他进制
方吵销法 : 短除法
除==k==逆取余
将十进制转二进制
将十进制转八进制
将十进制转十六进制
迂回路线 : ==先将十进制转换为二进制,再组合为八进制或者十六进制==
把二进制每三位 组合到一起组成 八进制
把二进制每四位组合到一起,组成十六进制