(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(计算机组成原理)第二章数据的表示和运算-第一节:一文总结进制转换,妈妈再也不用担心我不会进制转换了相关的知识,希望对你有一定的参考价值。

一:进位计数法

进位计数法是一种计数的方法。常用的有十进制、二进制、八进制和十六进制等。日常生活中最常使用的就是十进制,其余则主要是计算机使用

在进行计数法中,每个数所用到的不同数码的个数称为基数。比如十进制的基数为0~9,每个数位计满10就向高位进位。

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

一个r进制数( K n K n − 1 . . . K n K − 1 . . . K − m K_{n}K_{n-1}...K_{n}K_{-1}...K_{-m} KnKn1...KnK1...Km)的数值可以表示为
K n r n + K n − 1 r n − 1 + . . . K 0 r 0 + K − 1 r − 1 + . . . + K − m r − m = ∑ i = n − m K i r i K_{n}r^{n}+K_{n-1}r^{n-1}+...K_{0}r^{0}+K_{-1}r^{-1}+...+K_{-m}r^{-m}=\\sum_{i=n}^{-m}K_{i}r^{i} Knrn+Kn1rn1+...K0r0+K1r1+...+Kmrm=i=nmKiri

  • 十进制:例如975, 975.36 = 9 × 100 + 7 × 10 + 5 × 1 + 3 × 0.1 + 6 × 0.01 975.36=9×100+7×10+5×1+3×0.1+6×0.01 975.36=9×100+7×10+5×1+3×0.1+6×0.01
    ,也即 975 = 9 × 1 0 2 + 7 × 1 0 1 + 5 × 1 0 0 + 3 × 1 0 − 1 + 6 × 1 0 − 2 975=9×10^{2}+7×10^{1}+5×10^{0}+3×10^{-1}+6×10^{-2} 975=9×102+7×101+5×100+3×101+6×102
  • 二进制:只有0和1两种数字符号,“逢2进1”,其任意数位的权为 2 i 2^{i} 2i i i i为所在位数
  • 八进制:八进制作为二进制的一种书写形式,其基数是8,有0~7共8个不同的数字符号,“逢8进1”。由于 r = 8 = 2 3 r=8=2^{3} r=8=23所以只要把二进制的3位数码编为一组就是一位八进制编码
  • 十六进制:其基数为16,“逢16进1”,其中A、B、C、D、E、F分别表示10、11、12、13、14、15.由于 r = 16 = 2 4 r=16=2^{4} r=16=24所以4位二进制数码与1位十六进制数码相对应

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

  1. 二进制只有两种状态,使用有两个稳定状态的武器器件就可以表示二进制数的每一位,制造成本较低。比如经常使用到的就是利用高低电平和电荷正负表示0和1
  2. 二进制的1和0正好与逻辑值真和假相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件
  3. 二进制的编码和运算规则很简单,通过逻辑门电路可以方便地实现算数运算

二:进制转换

(1)其他进制数转换为十进制

其他进制数转化为十进制较为简单,只需代入下面的公式即可
K n r n + K n − 1 r n − 1 + . . . K 0 r 0 + K − 1 r − 1 + . . . + K − m r − m = ∑ i = n − m K i r i K_{n}r^{n}+K_{n-1}r^{n-1}+...K_{0}r^{0}+K_{-1}r^{-1}+...+K_{-m}r^{-m}=\\sum_{i=n}^{-m}K_{i}r^{i} Knrn+Kn1rn1+...K0r0+K1r1+...+Kmrm=i=nmKiri

比如要把一个二进制数转为十进制数,那么上式中的 r r r就设为2, 然后用二进制数的每一位乘以 r n r^{n} rn,这个n表示的是位权,小数点左侧从右向左由0递增,小数点右侧从左至右由-1递减