文章

各种数值的转换

1、二进制数、八进制数、十六进制数转十进制数

二进制数、八进制数、十六进制数的各位数字分别以各自的基数的(N-1)次方,其和相加之和便是相应的十进制数

举例:

110B=1_2的2次方+1_2的1次方+0_2的0次方=0+4+2+0=6D

110Q=1_8的2次方+1_8的1次方+0_8的0次方=64+8+0=72D

110H=1_16的2次方+1_16的1次方+0*16的0次方=256+16+0=272D

2、十进制数转二进制数、八进制数、十六进制数

整数部分用除基取余的算法,小数部分用乘基取整的方法,然后将整数与小数部分拼接成一个数作为转换的最后结果

十进制转二进制

如:55转为二进制

2|55

27――1 个位

13――1 第二位

6――1 第三位

3――0 第四位

1――1 第五位

最后被除数1为第七位,即得110111

十进制转八进制

如:5621转为八进制

8|5621

702 ―― 5 第一位(个位)

87 ―― 6 第二位

10 ―― 7 第三位

1 ―― 2 第四位

最后得八进制数:127658

十进制数十六进制

如:76521转为十六进制

16|76521

4726 ――5 第一位(个位)

295 ――6 第二位

18 ――6 第三位

1 ―― 2 第四位

最后得1276516

3、二进制数转换成其它数据类型

二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足, 就是一个相应八进制数的表示。

010110.001100B=26.14Q

八进制转二进制反之则可。

二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足,就是一个相应十六进制数的表示。

00100110.00010100B=26.14H

本文由作者按照 CC BY 4.0 进行授权