笔记:二进制、八进制、十进制、十六进制之间的互相转换
本文最后更新于 212 天前,其中的信息可能已经有所发展或是发生改变。

前言

首先,要开始学习这些进制之间如何互相转换,我们先要了解一下这些进制以及其包含的数字。具体见下表:

进制名称进制英文名以及其简写名称进制所包含的数字\字母
二进制binary (bin)0 1
八进制octal (oct)0 1 2 3 4 5 6 7
十进制Decimal (dec)0 1 2 3 4 5 6 7 8 9
十六进制Hexadecimal (hex)0 1 2 3 4 5 6 7 8 9 A B C D E F

基本了解了一下进制,接下来就要来了解进制之间的转换。

二进制等转换为十进制

首先就是了解二进制等进制如何转换为十进制,我们在这里使用一种叫做位权相加法的方法来进行转换。我们先以二进制转换为十进制为例子:

首先 假设有一个二进制数据 1010101

将其转化为十进制只需要这样:

十进制数值 = (1 * 2^6 )+(0 * 2^5)+( 1 * 2^4)+(0 * 2^3)+( 1* 2^2)+(0 * 2^1)+(1*2^0)=85

再举个例子:111001

十进制数值 = (1*2^5)+(1*2^4)+(1*2^3)+(0*2^2)+(0*2^1)+(1*2^0)= 57

假如包含小数的话,比如说

111.01

转换方式如下:

十进制数值 = (1*2^2)+(1*2^1)+(1*2^0)+(0*2^-1)+(0*2^-2)=7.25

其他进制转化为二进制的方法跟上面的过程相差不大,下方举个例子:

将8进制数值7231.24转化为十进制数值:

十进制数值 = (7*8^3) + (2*8^2) + (3*8^1) + (1*8^0) + (2*8^-1) + (4*8^-2) = 3737.3125

十进制等转化为二进制

接下来就是如何讲十进制数据转换为二进制数据

我们现在先以一个十进制整数 75和23为例子,如下图的过程

接下来就是含有小数的部分了,我们先以75.6875为例子

首先先是整数部分 75 根据上面先给的方法,整数部分二进制的结果为1001011

接下来是小数部分:0.6875转化为2进制

将整数部分与小数部分整合,得到75.6875的二进制数据为:1001011.1011

这里有一个要注意的地方,就是十进制转换为二进制可能是会有损失的,有转换磨损,比如说如下的数据

0.352这个数据,按照刚刚的转换方式,你会发现根本就乘不完,总是乘不到1这个数字,所以,老师说考试中题目都会给出所要求的精度,不会让你一直求下去。

注意,刚刚上面这个求小数部分的转换方法只适用于10进制转换为2进制,对于其他进制转化为2进制是不行的,请看下面例子:

对于8进制转换为2进制,比如 13.25(八进制)这个数字,如下图操作:

总结

以上就是各个进制的转化方法了,假如要2进制转化为8进制,不妨先转化为10进制,当然也有其他的方法,这里不再一一赘述,谢谢阅读。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议,记得载明出处,(期待)。内容有问题?点此反馈
上一篇
下一篇