您好,欢迎来电子发烧友网! ,新用户?[免费注册]

当前位置:电子发烧友网 > 图书频道 > 电子 > 《计算机组成原理与汇编语言》 > 第1章 预备知识

第1节 二进制与十进制

1.1.1 十进制记数法
   
   在十进制记数中,用0,1,2,…,9这10个符号来表示数量,

   无论多大的数,都是用这10个符号的组合来表示的。
其主要特点:

   1.它有十个不同的数字符号(又称数码),即1、2、3、4、5、6、7、8、9。

   2.它是逢“十”进位的。同一数码处于不同的数位(称为“权”),其代表的意义是不同的。
   
    例如555.55这个数中,小数点左边的第一位“5”代表个位,其值为5*10^0;左边第二位“5”代表十位,其值为5*10^-1;右边第二位“5”代表百位,
   
    其值为5*10^2;小数点右边的第一食糖”5“,其值为5*10^-1,右边第二位”5“,其值为5*10^-2因此这个数可写成:

                      555.55=5*10^2+5*10^1+5*10^0+5*10^-1+5*10^-2

   一般地说,任意一个十进制数N都可以表示为:N=k*10^(n-1)+s*10^(n-2)+……j*10^0+10*10^-m

   其中n-1表示第i位的数码,可以是0-9十个数字符号中的任何一个,由于体的数决定m、n为正整数,n为小数点左边的位数,m为小数点右边的位数。

   而10*(n-1)…10^-m称为十进制数的”权“,而”10”为十进制数的基数(即在该计数制中可能用到的数码的个数),它表示“逢十进一”这种计数制即为十进制。 
   
   
   例如:

     十进制数3758可用上面的法则来表示:(3758)10=3×10^3+7×10^2+5×10^1+8×10^0

     根据同样的法则,也可以表示十进制小数,小数点的右边各位的权为10^-1, 10^-2,10^-3,…。
   
   例如:
    十进制数275.368可以用上述法则写成:

    (275.368)10=2×10^2+7×10^1+5×10^0+3×10^-1+6×10^-2+8×10^-3

1.1.2 二进制记数法   二进制记数法用来表示数量的符号只有两个,就是0和1。二进制数中的任何一个0或1称为比特(bit)。

其主要特点是:

1.它只有两个不同的数码,即“0”和“1”。

2.它是逢“二”进位的。如对于十进制数1+1=2,而对于二进制1+1=10,这里逢二进一变化了“10”,例如,二进制数(1111.11)可以化成如下制数:

(1111.11)=1*2^3+1*2^2+1*2^1+2*2^0+1*2^-1+1*2^-2=8+4+2+1+0.5+0.25=15.75 例如:    二进制数110101可以表示为:    

   
     (110101)2=1×2^5+1×2^4+0×2^3+1×2^2+0×2^1+1×2^0
   
   二进制数与其它数制相比有以下特点:

   1、数的状态简单,容易表示

     二进制只有“0”和“1”两种状态,它的物质基础就是具有两种稳态的元件。如晶体管的导通或截止,磁芯两个不同方向的磁化等。在计算机中,通常采用

    电平“高”、“低”或脉冲的“有”、“无”来分别表示“1”和“0”,这种简单的状态工作可靠,抗干扰能力强。

   2.运算规则简单

     二进制运算的规则极为简单,故在计算机中实现二进制运算的线路也大大简化了。

   3、可以节省设备

   如果采用十进制表示0-9之间的数,需要1位,这1位共需十个设备状态。若采用二进制数表示,需要4位,每位只需2个状态,总共8个设备状态。而且,这8个设备

   状态所能表示的范围可达0000-1111,即0-15。这说明,采用二进制数制可以节省设备。

   4、可以使用逻辑代数这一数学工具对计算机逻辑线路进行分析和综合,便于机器结构的简化。
     
1.1.3二进制数与十进制数的相互转换
       
 1. 二进制数转换成十进制数
 
      如上所述,只要将二进制数的每一位乘上它的权然后加起来就可以求得二进制数的十进制数值。
 
      例如:
          二进制数101101.11换算成十进制数为:

          (101101.11)2=1×2^5+0×2^4+1×2^3+1×2^2+0×2^1+1×2^0+1×2^-1+1×2^-2=(45.75)10 
 
2.十进制数转换成二进制数
 
      十进制数转换为二进制数的方法分两步进行。
 
      例如:

         欲将十进制数175转换为二进制数,其过程如下:

          175÷2=87    余数为  1

          87÷2=43         1 

          43÷2=21         1 

          21÷2=10         1 

          10÷2=5          1 

          5÷2=2          1 

          2÷2=1          0 

          1÷2=0           1

         得到结果:(175)10=(10101111)2
        
       例如:

         将十进制小数0.71875转换成二进制小数,其过程如下:

          0.71875×2=1.4375   整数部分 1 

          0.4375×2=0.875         0 

          0.875×2=1.75          1 

          0.75×2=1.5           1 

          0.5×2=1.0           1 

          得到结果为:(0.71875)10=(0.10111)2
        
       综上所述,一个十进制整数的二进制转换方法就是“除2取余”;而一个十进制小数的二进制转换方法就是“乘2取整”。若一个十进制数既包含整数部分
      
       又包含小数部分,它的二进制转换就是将它的整数部分和小数部分用上述方法分别进行转换,最后将转换好的两部分结合在一起形成要转换的二进制数。
 
       例如:
         (175.71875)10=(10101111.10111)2