进制转换

常用进制数:二进制,八进制,十进制,十六进制

进制理解

计算机中硬件之间的信息传递是由电流确定,假如一个半导体允许通过的电流是5A,如果电流通过的为5A,则通过,计为1,如果通过的电流小于5A,则不通过,计为0。

由此,出现两种情况的判断,与或非。电流的传递由0或1来完成,由此引申出二进制数的概念,以便底层硬件有共同的“语言”,即机器语言,相互沟通和交流。

 我们生活中一般数值的运算是十进制。就是满10进1,个十百千万,依次递进。由此,可以类比。

二进制(Binary):0,1。基数为2,逢二进一。表示:(111)2或者(111)B

八进制(Octal number system):0,1,2,3,4,5,6,7。基数为8,逢八进一。表示:(111)8或者(111)O

十进制(Decimal system):0,1,2,3,4,5,6,7,8,9。基数为10,逢十进一。表示:(111)10或者(111)D

十六进制(Hexadecimal):0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)。基数为16,逢十六进一。表示:(111)16或者(111)H

 

n进制:(逢n进1)

个位数:n0( 0个8)

十位数:n1( 1个8)

百位数:n2( 8个8)

  

进制转换

1.十进制转其他进制

① 除二取余法(整数部分):把被转换的十进制整数反复除以2,直至商为0,所得的余数(从末位读起)就是这个数的二进制表示。

 进制转换

 

 

  

② 乘二取整法(小数部分):将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。

如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。

换句话说就是0舍1入。读数要从前面的整数读到后面的整数。

例:(0.257)10 转换二进制(保留4位)

(0.257)2 =(0.0100)2

0.257*2=0.514  ..........整数为0,小数为0.514

0.514*2=1.028  ..........整数为1,小数为0.028

0.028*2=0.056  ..........整数为0,小数为0.056

0.056*2=0.112  ..........整数为0,小数为0.112

 

十进制转其他进制(整数部分):除几位进制数取余数(末位取)

2.其他进制转十进制(位权法)

位权法:二进制数按权展开求和。

二进制转十进制:(111)2=(1*22+1*21+1*20)10=(7)10

八进制转十进制:(111)8=(1*82+1*81+1*80)8=(73)8

十六进制转十进制:(111)16=(1*162+1*161+1*160)16=(273)16

所以总结起立通用公式为:

(abcd.efg)n=(a*n3+b*n2+c*n1+d*n0+e*n-1+f*n-2+g*n-3)10

3.二进制与八进制、十六进制直接的转换

① 因为23=8,所以八进制的1位需要3位二进制数表示,由小数点分别向左右划分3位一组二进制数,前后不足3位时补“0”。

例:

二进制转八进制

(011 010 101 . 010 010 100)2

(  3  2  5  . 2   2   4 )8

八进制转二进制

(  6  5  2  . 3   0   7 )8

(110 101 010 . 011 000 111)2

 

② 因为24=8,所以十六进制的1位需要4位二进制数表示,由小数点分别向左右划分4位一组二进制数,前后不足4位时补“0”。

 

例:

二进制转十六进制

(0010 1101 0101 . 0111 1010 )2

(  2   D   5  .   7   A  )8

十六进制转二进制

(  1   C   5  .  1    B  )8

(0001 1100 0100 . 0001 1010 )2

 

4.二进制数运算规则

 

四则数学运算

加法

逢二进一

0+0=0

1+0=1

0+1=1

1+1=10

减法

借一当二

0-0=0

1-0=1

1-1=0

10-1=1

乘法

 

0×0=0

1×0=0

0×1=0

1×1=1

除法

除0为非法

 

 

0÷1=0

1÷1=1

逻辑运算

与运算

逻辑乘

0∧0=0

0∧1=0

1∧0=0

1∧1=1

或运算

逻辑加

0∨0=0

0∨1=1

1∨0=1

1∨1=1

异或运算

左右不同为1

0⊙0=0

0⊙1=1

1⊙0=1

1⊙1=10

 

运算优先规则

 

 

1级

非运算

!

2级

与位运算

&

3级

异或运算

^

4级

或运算

|

5级

 逻辑与运算

&&

6级

逻辑或运算

||

 

上一篇:养猪日记 2022.2.2


下一篇:分解9位长整数