计算机组成原理 - 第2章 数据的表示和运算 - 2.1 数值与编码

第2章 数据的表示和运算

2.1 数值与编码

2.1.1 进位计数制及其相互转换

在计算机系统内部,所有的信息都是用二进制进行编码的,原因如下:

1)二进制只有两种状态,所以有两个稳定状态的物理器件就可以表示二进制数的每一位,如利用高低电平和电荷的正负极性都可以很方便的表示0和1

2)二进制位1和0正好与逻辑值“真”和“假”对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件

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

1.进位计数法

进位计数法是一种计数方法。常用的进位计数法有十进制、二进制、八进制和十六进制等

在每种进位计数法中,所用到的不同数码的个数称为基数,如十进制的基数为10(0~9)

在每种进位计数法中,每个数码所表示的数值等于本身乘以一个与它所在数位有关的常数,这个常数称为位权,一个进位数的数值大小就是它的各位数码按权相加

2.不同进制之间的相互转化

(1)二进制转八进制和十六进制

对于一个混合二进制数(包含整数部分和小数部分),转换时以小数点为界

整数部分,从小数点开始往左数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,不够则用0补齐

小数部分,从小数点开始往右数,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组,不够也用0补齐

然后分别用对应的八进制数或十六进制数取代

以二进制数1111000010.01101为例,转换为八进制数为1702.32

分组 001 111 000 010 . 011 010
用八进制取代 1 7 0 2 . 3 2

八进制转16进制可以先转换为2进制再转换为16进制,八进制或十六进制转二进制时做上述流程相反操作即可

(2)任意进制数转换为十进制数

用各位数码与它们的权值相乘,再把乘积相加,就得到了一个十进制

你可能感兴趣的:(编码学,ascii码表)