计算机中常用的进制

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现在考察第二位,也就是b了。b代表是整2,而c代表整4,d代表整8,所以,只有可以被2整除但是却不能被4整除的那部分,会留给b来表示。由于现在要表示的是4,可以被4整除,所以b=0.
现在,轮到c了。同样的道理,只有能被4整除而不能被8整除的部分,留给c。由于这里刚好是一个4,所以,c=1,c的1,实际上代表的是4,所以,现在剩下0了,也就不用再继续往下表示了。
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0+8+0+32+64+0=107.
二进制01101011=十进制107.
一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。
1.二进制与十进制的转换
(1)二进制转十进制
方法:"按权展开求和"
例:
(1011.01)2=(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
2.八进制与二进制的转换
例:将八进制的37.416转换成二进制数:
37 . 4 1 6
所以,二进制的10代表多少呢?
各位的0代表0,高位的1代表1乘以2的一次幂,所以,10=1*(2**1)+ 0*(2**0)=2.
所以,要把二进制转化成十进制,很简单,就是把他的各个位所代表的数目的大小加起来,就这么简单。
所以,二进制的11ห้องสมุดไป่ตู้,转化成十进制,是多少呢?
111=1*4+1*2+1*1=7;
难一点的在于把十进制转化成二进制。
十进制的5,转化为二进制的多少呢。直接告诉你答案吧,是101.
现在我来分析一下为什么是这个答案。其实,这个问题的本质就是解答一个方程,这个方程用来确定二进制各个位上的值,究竟是0呢,还是1,因为二进制值有0和1嘛,所以就只有这两种可能性了。
首先看最低位。如果是1,那么这个二进制对应的数应该是一个奇数,为什么这么说呢,因为,除了最低位以外,其余的位,至少是2的倍数,所以都是整2整2的,所以,最低位应该是1,因为5是奇数嘛!
(1AC0.6D)16=(0001 1010 1100 0000.0110 1101)2
④二进制转换成十六进制
将(11101010.00101011)2转换成十六进制数
(1110 1010.0010 1011)2=EA.2B H
1110 1010.0010 1011
E A . 2 B
(1110 1010.0010 1011)2=EA.2B H
不过次方要从0开始
相反 用十进制的13除以2 每除一下将余数就记在旁边
最后按余数从下向上排列就可得到1101
二进制转十进制,十进制转二进制的算法介绍
十进制转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写就是结果
例如:302转化成二进制
302/2 = 151余0
151/2 = 75余1
75/2 = 37余1
(1)二进制转换为十进制
将每个二进制数按权展开后求和即可。请看例题:
把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10
二进制的1101转化成十进制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13
转化成十进制要从右到左用二进制的每个数去乘以2的相应次方
1代表了10个十位上的1,而十位上的1又代表了10个各位上的1,所以百位上的1代表了1乘以10的平方。2代表了2乘以10的一次幂。3代表了3乘以1的0此幂。
所以123=1*(10**2)+ 2*(10**1)+ 3*(10**0)
**代表多少次幂。
实际上,二进制与十进制唯一的区别就在于他是满2进1.
4 0100 4 4 13 1101 15 D
5 0101 5 5 14 1110 16 E
6 0110 6 6 15 111117 F
7 0111 7 7 16 10000 20 10
8 1000 10 8 17 10001 21 11
5、数制之间的转换
转换类型转换方法转换举例
其它进制的数转换为十进制的数按权展开二进制转换成十进制
3)各数位的位权:是以16为底的幂次方
4)进位方法:逢十进一,借一当
例如:(1C7)16
、各进位制数的表示方法
十进制二进制八进制十六进制十进制二进制八进制十六进制
0 0000 0 0 9 1001 11 9
1 0001 1 1 10 101012 A
2 0010 2 2 11 1011 13 B
3 0011 3 3 12 110014 C
整数部分:除2取余
小数部分:乘2取整
除2取余
乘2取整
十进制转换成八进制
整数部分:除8取余
小数部分:乘8取整
十进制转换成进制十六进制
整数部分:除16取余
小数部分:乘16取整
<<<
<<<
<<<
非十进制之间的转换方法
方法:由于一位八进制数相当于三位二进制数,因此,要将八进制数转换成二进制数时,只要以小数为点界向左或向右每一位八进制数用相应的三位二进制数取代即可,如果不足三位,可用零补足。反之,二进制转换成相应的八进制数只是上述方法的逆过程,即以小说数点为界,向左或向右每三位二进制数用相应的一位八进制数取代即可。同理,十六进制与二进制互换,只要用四位二进制数取代一位十六进制数(逆过程一位十六进制数取代四位二进制数)即可,对于八进制与十六进制转换则要先将八进制(或十六进制)转换成二进制,然后应用前面的方法进行转换
计算机中常用的进制
进制名称说明
十进制1)基数: 10
2)数码: 0、1、2、3、4、5、6、7、8、9
3)各数位的位权:是以10为底的幂次方
4)进位方法:逢十进一,借一当十
例如:(3269.71)10
二进制1)基数: 2
2)数码: 0、1
3)各数位的位权:是以2为底的幂次方
4)进位方法:逢二进一,借一当二
<<<
二、八进制之间转换
①八进制转换成二进制
将(712.521)8转换成二进制数
7 1 2 . 5 2 1
111 001 010 . 101 010 001
( 712.521)8=(111 001 010.101 010 001)2
②二进制转换成八进制
将(11101010.00101011)2转换成八进制数
对于二进制转换成十进制数
例如:二进制数1010转换成十进制数
8 4 2 1
二进制数:1 0 1 0(结果为凡是1对应的数相加:8+2=10)
例1:110转换成十进制数
8 4 2 1
1 1 0(结果为凡是1对应的数相加:4+2=6)
例2:11100转换成十进制数
16 8 4 2 1
1 1 1 0 0(结果为凡是1对应的数相加:16+8+4=28)
37/2 = 18余1
18/2 = 9余0
9/2 = 4余1
4/2 = 2余0
2/2 = 1余0
故二进制为100101110
二进制转十进制
从最后一位开始算,依次列为第0、1、2...位第n位的数(0或1)乘以2的n次方得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:将二进制的10110.0011 转换成八进制:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 =(26.14)8
3.十六进制与二进制的转换
例:将十六进制数5DF.9 转换成二进制:
八进制转换成十进制
十六进制转换成十进制
十进制数转换为其它进制的数整数部分:除基数取余
十进制转换成二进制
十进制转换成八进制
小数部分:乘基数取
十进制转换成十六进制
非十进制数之间的转换利用各种进位制对数的表示方法进行按位一一对应转换
说明
二、八进制之间的转换
二、十六进制之间的转换
八、十六进制之间的转换
①二进数制化为十进制
我刚才说的,只是问题的本质。至于比较方便的做法,实际上应该是教科书上的那个方法:
十六进制:3 C 3 C D 4
所以:(36074.75)8=(3C3C.D4)16
根据二进制的原则“逢二进一”,我们把2的n次方列出分别是:
20=1 21=2 22=4 23=8 24=16 25=32 26=64……
“8421”法的原理说白了就是一种凑数法,按2的n次方的值列出,根据不同的情况进行“凑数”。
<<<
八、十六进制之间的转换
八、十六进制的数之间的转换要用二进制转换作过渡,即:先将八进制(或十六进制)转换成二进制,再将二进制转换成十六进制(或八进制)。
例将(36074.75)8=(?)16
八进制:3 6 0 7 4. 6 5
二进制:011 110 000 111 100 110 101
0011 1100 0011 1100.1101 0100
例1 (1011011)2=1×26+0×25+1×24+1×23+0×22+1×21+1×20
=(91)10
例2二进制数(1101.101)2=( ? )10
(1101.101)2=1×23+1×22+0×21+1×20+1×2-1+1×2-2+0×2
=(13.625)10
所以(1101.101)2=(13.625)10
5 D F . 9
0101 1101 1111.1001
即:(5DF.9)16 =(10111011111.1001)2
例:将二进制数1100001.111 转换成十六进制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
首先说说十进制是怎么回事吧。十进制是咱们最熟悉的。所以讲解起来不费劲。然后,你会发现十进制和二进制并没有什么本质的区别。
例如:(100110010)2
八进制1)基数: 8
2)数码: 0、1、2、3、4、5、6、7
3)各数位的位权:是以8为底的幂次方
4)进位方法:逢八进一,借一当八
例如:(1075)8
十六进制
1)基数: 16
2)数码: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、A=10、B=11、C=12、D=13、E=14、F=15.
如果明白了,那么继续往下进行。
从刚才的分析中,你应该看出点端倪来了。其实,十进制转化成二进制的过程,就是一个从低位开始,逐个确定二进制各个位的值的过程。从低位开始,是因为,越高位,他代表的数就越“整”,倒数第二位代表的是2,第三位代表的是4,第四位是8,每一次都会扩大两倍,越来越“整”,只有高位表达不了的,也就是被高位整除不了的,才丢给低位,刚才第一步就是这么做的。5除以2以后,余数是1,那么,这个1就丢给最低位了。其余的4,让高位来表示。
011 101 010.001 010 110
3 5 2 . 1 2 6
(011 101 010 . 001 010 110)2=(3 5 2 . 1 2 6)8
<<<
二、十六进制之间的转化
③十六进制转换成二进制
将(1AC0.6D)16转换成二进制数
1 AC 0. 6 D
0001 1010 1100 0000. 0110 1101
十进制里面有十个最基本的符号,0-9,所以,满十的时候,只能进位,因为一个位上最多只有这十中符号可以彼此区分了。
所以,十位上的1,代表了10个个位上的1,同理,百位上的1代表了10个十位上的1.也就是说,相邻的两个位,高位的1代表了10个低位上的1.这就是满10进1的含义。所以,十进制的123代表多少呢。这个问题,可以分解成1,2,3分别代表了多少,然后,123就代表了这三个数字各自所代表的数目之和。
<<<>>>
②八进数制化为十进制
(136.75)8=1×82+3×81+6×80+7×8-1+5×8-2
=(94.953125)10
<<<>>>
③十六进数制化为十进制
(2D3.BC)16=2×162+13×161+3×160+11×16-1++12×16-2
=(723.734375)10
十进制化为二进制
既然已经用最低位表示了一个1了,那么,其余位,只要表示剩余的4就可以了,因为5-1=4,这里听明白了没?
为了方便表达,我把转化之后的二进制数,表示成。。。。dcba吧,前面加。。。,是因为这个数究竟有多少位,事先你不知道,只有计算完了之后才知道。当然,在这里,最后表示成了二进制数101,所以,d=0,c=1,b=2,a=1;
相关文档
最新文档