admin 管理员组

文章数量: 1086019


2024年12月22日发(作者:selector怎么让两边都有)

数据进制转换规则

一、转换成十进制的规则

基本规则:

1234.56

整数部分:n位,数值分别为ai i=1到n;小数部分:k位,数值分别为fi i=1到k

转换成十进制时:

A10=a1*N^n-1+a2*N^n-2+a3*N^n-3+····+an-1*N+ an*N^0 (整数部分)

+f1*N^-1+ f2* N^-2 +····+fk* N^-k (小数部分)

1、二进制转换成十进制的规则

1.1 直接转换

A10=a1*N^n-1+a2*N^n-2+a3*N^n-3+····+an-1*N+ an*N^0 (整数部分)

+f1*N^-1+ f2* +····+fn* N^-k (小数部分)

将N换成2即可。

1.2 另一种方法 利用二进制数来转换

二进制数据: 1010 0101 1111

= 1 0 1 0 0 1 0 1 1 1 1 1 二进制

2048 1024 512 256 128 64 32 16 8 4 2 1 ∑4095对应值

=2048*1+1024*0+512*1+256*0+128*0+64*1+32*0+16*1+8*1+4*1+2*1+1*1=2655

2、八进制转换成十进制

2.1 直接转换

A10=a1*N^n-1+a2*N^n-2+a3*N^n-3+····+an-1*N+ an*N^0 (整数部分)

+f1*N^-1+ f2* +····+fk* N^-k (小数部分)

将N换成8即可。

2.2另一种方法:利用二进制数来转换

A5F= A 5 F 16进制

: 1010 0101 1111 二进制数据

= 5 1 3 7 8进制

= 101 0 01 011 111 2进制

= 1 0 1 0 0 1 0 1 1 1 1 1 二进制

2048 1024 512 256 128 64 32 16 8 4 2 1 ∑4095对应值

=2048*1+1024*0+512*1+256*0+128*0+64*1+32*0+16*1+8*1+4*1+2*1+1*1=2655

3、十六进制转换成十进制

3.1 直接转换

A10=a1*N^n-1+a2*N^n-2+a3*N^n-3+····+an-1*N+ an*N^0 (整数部分)

+f1*N^-1+ f2* +····+fk* N^-k (小数部分)

将N换成16即可。

3.2 利用二进制转换成十进制:

将十六进制A5F转换为十进制

A5F= A 5 F

= 1010 0101 1111

1

= 1 0 1 0 0 1 0 1 1 1 1 1 二进制

2048 1024 512 256 128 64 32 16 8 4 2 1 ∑4095对应值

=2048*1+1024*0+512*1+256*0+128*0+64*1+32*0+16*1+8*1+4*1+2*1+1*1=2655

4095

二、二进制转换成其他进制的规则

1 、二进制转换成八进制

以小数点为界分别向左右每3个数字为一组进行分组,每组二进制数分别转化成十进制数,

最后合并在一起,并把首0去掉(尾0不可以去)。

如:( 001 101 001)2=(151)8

1 5 8

2.将二进制转化成十六进制:

以小数点为界分别向左右每4个数字为一组进行分组,每组二进制数分别转化成十进制数,

最后合并在一起,并把首0去掉(尾0不可以去)。

如:( 001 101 001)2=105

=( 001 101 001)2 =( 0 0110 1001)2

=( 1 5 1 )8 =( 6 9 )16

(0110 1001)2=(151)8=(69)16=105

(0001 0110.0101 1011)2=(16.5B)16

二进制和八进制、十进制和十六进制对应关系

序号

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

十进制

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

二进制

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

10000

八进制

0

1

2

3

4

5

6

7

10

11

12

13

14

15

16

17

20

十六进制

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

10

二进制位数与十进制数的关系

位数

2^ n-1

13

12

12

11

11

10

10

9

9

8

8

7

2

7

6

6

5

5

4

4

3

3

2

2

1

1

0

十进制数

4096 2048 1024

位数

2^ n-1

十进制数

26

25

3355

4432

512

23

22

4194

304

256

22

21

2097

152

128

21

20

1048

576

64

20

19

5242

88

32

19

18

2621

44

16

18

17

1310

72

8

17

16

6553

6

4

16

15

3276

8

2

15

14

1638

4

1

14

13

8192

25

24

1677

7216

24

23

8388

608

将二进制数从右到左,每三个分成一组 ,不足三个的前面补0。

如二进制的11101转化为八进制为多少?

11101= 011 011 100 110 001 101 =

=(3 3 4 6 1 5)8

因此转化为八进制值为334615

三、八进制转换成其他进制的规则

1、 八进制转换成二进制

反过来八进制转化为二进制类似 将一个八进制值写成三位二进制的,最左边的0省略

如 1754263

1754263= 1 7 5 4 2 6 3

= 001 111 101 100 010 110 011

因此对应的二进制值为1111111

2 八进制转换成十六进制

先转换成二进制,然后每4个一组,转换成16进制即可。

1754263= 1 7 5 4 2 6 3

= 001 111 101 100 010 110 011

因此对应的二进制值为1111111

对应的十六进制为:0111 1101 1000 1011 0011=7D8B3

7 D 8 B 3

四、十六进制转换成其他进制的规则

1、十六进制转换成二进制

十六进制的3A594C23转换为二进制

3A594C23= 3 A 5 9 4 C 2 3

= 0011 1010 0101 1001 0100 1100 0010 0011

因此二进制结果为111111

2、十六进制转换成八进制

十进制,八进制和十六进制互化应以二进制作为桥梁。先讲十六进制转换成二进制,然后每3

个一组从右向左分段,每段换成十进制数据,从左向右排列,即转换成为8进制数据。

3A594C23= 3 A 5 9 4 C 2 3

= 0011 1010 0101 1001 0100 1100 0010 0011

因此二进制结果为111111

111 010 010 110 010 100 110 000 100 011

7 2 2 6 2 4 6 0 4 3

(7226246043)8

3

五、十进制数转换成其他进制的规则

一、 整数部分

转换数值除以基数,取余数;商再作为转换数值除以基数,取余数;依此循环,将最后

的余数逆序排列,形成了转换数。

1 十进制转换成二进制

对基数为2的二进制转换,当转换数值除以基数的商最后等于1时,终止转换,最后一位

1加到转换完的数列的第一位。也就是说,二进制的第一位总是1。

2十进制转换成八进制

对基数为8的二进制转换,当转换数值除以基数的商最后小于8时,终止转换,最后一位

的1、(或2、3、4、5、6、7中的一位)加到转换完的数列的第一位。也就是说,八进制的第

一位总是在1 ~7中的一位。

3十进制转换成十六进制

对基数为16的二进制转换,当转换数值除以基数的商最后小于16时,终止转换,最后一

位的1、(或2、3、4、5、6、7、8、9、10~15中的一位)加到转换完的数列的第一位,但10~15

需要转换成相应的字符代码。10→A;11→B;12→C;13→D ;14→E ;15→F;也就是说,

十六进制的第一位字符可能是1~9之间的数字或A~F之间的字符。

二、 小数部分

转换数值乘以基数,取整数,当整数为零时去零;取完整数的小数部分再作为转换数值,

进行第二次转换,依此循环。将取得的的整数数列顺序排列,形成了转换数。当取完整

数的余数为零或满足一定的条件时,终止转换。

1 十进制转换成二进制

对基数为2的二进制转换,转换数值乘以基数的积不会大于2,一般为1或者为0,所以

转换数值的取值在0-1之间。取完整数的小数部分作为转换数值,进行第二次转换,依此循环。

当取完整数的余数为零或满足一定的条件时,终止转换。

二进制的字符是0或1数字。但字符是0、1的不一定是二进制。对于某些数值,有可能是

二进制、八进制或十六进制,因此需要特别标识。

2十进制转换成八进制

对基数为8的二进制转换,转换数值乘以基数的积不会大于8,一般为0~7,所以转换数

值的取值在0-7之间。取完整数的小数部分作为转换数值,进行第二次转换,依此循环。当取

完整数的余数为零或满足一定的条件时,终止转换。

八进制的字符可能是0~7之间的数字。对于某些数值,二进制与八进制是很难以分清楚的,

需要特别标识。含有数值2以上的,可能是八进制或十六进制。

3十进制转换成十六进制

对基数为16的二进制转换,转换数值乘以基数的积不会大于16,一般为0~15,所以转

换数值的取值在0~15之间。0~9之间的数值直接使用,而10~15之间的数值要转换成对应的

字母,10→A;11→B;12→C;13→D ;14→E ;15→F。取完整数的小数部分作为转换数值,

进行第二次转换,依此循环。当取完整数的余数为零或满足一定的条件时,终止转换。

十六进制的字符可能是1~9之间的数字,或A~F之间的字母。含有字母的一定是十六进

制、含有8、9字符的一定是十六进制。含有数值2以上的,可能是八进制或十六进制。

对于某些数值,二进制、八进制、十六进制是很难以分清楚的,需要特别标识。

4


本文标签: 转换 二进制 数值