计算机作为我们日常生活中使用最频繁的工具,大家知道信息在计算机内部是如何表示的吗?

首先,所有信息都是用二进制进行编码的,这样做的原因有以下三种:

1、二进制只有两种状态,可以使用两个具有稳定状态的物理器件就可以表示二进制中的0和1,制造成本较低。

2、二进制位的1和0正好与逻辑“真”、“假”对应。

3、二进制的编码和运算规则都很简单,通过逻辑门电路可以方便实现算术运算。

那么,如何将我们日常生活中的数字,转换成计算机内部的二进制数呢?

首先,我们先了解一下,我们日常生活中使用的数字是什么?

我们日常生活中所使用数字是逢十进一的,也就是所谓的十进制的数字,那么计算机中的数字表示方法为逢二进一,也就是所谓的二进制数。

那么任意一个进制的数字该如何表示呢?

我们拿十进制数来举一个例子。(如132)

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(1)

可以清楚的看到,1表示的是“百”位的数字,这个位置上一个数字表示1个100,3表示的是“十”位的数字,这个位置上的一个数字表示1个10,2表示的是“个”位上的数字,这个位置上的一个数字表示1个1。

那么我们将上面的数字拼接起来就是:1个100 和 3个10 以及2个1,我们用指数形式表示就是 :

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(2)

推广一下便是:r进制

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(3)

的数值就可以表示为:

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(4)

其中,r是基数,r的i次方 就代表的是第i位的位权(注意,整数位最低位从0开始)。如上面例子中的10的2次方,就是代表的是十进制数的第2位的位权。在这个例子中r=10,K=1。

那么,如何将十进制数转换为二进制数呢?

对于十进制的整数转换为二进制数,我们可以采用“除基取余法”。如图

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(5)

十进制数132转换为二进制数

整数部分除基取余,最先取得的余数为数的最低位,最后取得的为数的最高位,商为0时结束。

那么转换好的二进制数就是(10000100)2。

对于十进制的小数转换二进制,我们则可以采用“乘基取整法”。如图

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(6)

十进制小数0.6875转换为二进制数

小数部分乘基取整,最先取得的整数为数的最高位,最后得到的为数的最低位。乘积大于1的,把1抹掉。乘积为1.0时结束。

对于十进制转换其他进制的数,只需要将x2 ➗2 改为其对应的进制数就好。如改成8进制,就×8(小数),➗8(整数)。

在这里我们列举几个计算机中常用的进制数。

1)二进制。

2)八进制。其基数为8,有0-7共8个数字的组合,计数“逢八进一”。

3)十六进制。基数为16,“逢十六进一”。每个数可取0-9,A、B、C、D、E、F中的一个。其中A、B、C、D、E、F分别表示:10-15.

那么,这些进制之间的相互转换该怎么实现呢?

我们先以2进制为例子,将2进制,转换为8进制。

2-->8

根据二进制的位权,我们可以轻易得到一串3位的二进制数,最大的数值为(111),转换为十进制的话就是7,正好我们可以使用一串3为的二进制数来表示8进制。

那么对于一个二进制混合数(即有整数部分、也有小数部分),在转换时,以小数点为界限,三位为一组转换为8进制,整数部分往左数,小数部分往右数,不足三位的,以0补齐,整数部分补在最左边,小数部分补在最右边。。

2-->16

和二进制转八进制方法类似,只是将3位换为4位一组。

例题:将二进制数1111000010.01101转换为八进制数。

计算机转十进制原理(计算机中的数据表示和运算1--进制与转换)(7)

任意进制数转换为十进制数:

将任意进制数的各位与他们的权值相乘,再把所有乘积相加,就得到了一个十进制数。这种方法称为按权展开相加法。

在此,我们讲了各个进制之间如何转换。不知道你学会了吗?

关注十月,带你了解更多的计算机知识。

,