注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

火力光波的博客

火一般的热情 光一样的速度

 
 
 

日志

 
 

计算机数制与编码(上篇)  

2013-07-01 23:45:16|  分类: 编码解码 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

一、数制的基本概念
1、数制的特点
     按进位的原则进行计数,称为进位计数制,简称数制。不论是哪一种数制,其计数和运算都有共同的规律和特点。
     (1)逢N进一
         N是指数制中所需要的数字字符的总个数,称为基数。如:0、1、2、3、4、5、6、7、8、9等10个不同的符号
         来表示数值,这个10就是数字字符的总个数
,也是十进制的基数,表示逢十进一。
     (2)位权表示法
         位权是指一个数字在某个固定位置上所代表的值,处在不同位置上的数字所代表的值不同,每个数字的位置决       
         定了它的值或者位权。位权与基数的关系
是:各进位制中位权的值是基数的若干次幂。
     例如,十进制数803.77可以表示为:
              (803.77)10 = 8×(10)2 + 0×(10)1 + 3×(10)0 + 7×(10)-1 + 7×(10)-2
        位权表示法的方法是;每一位数要乘以基数的幂次,幂次以小数点为界,整数自右向左0次方、1次方、2次方、…,
       小数自左向右-1次方、-2次方、
-3次方、…。
2、常用的数制
     常用的数制有多种,在计算机中采用二进制。为了表示方便,还经常使用八进制数或十六进制数。
     (1)十进制(Decimal)
         十进制数用0、1、2、…、9十个数码表示,遵循"逢十进一"的原则,十进制的基数是10。
     (2)二进制(Binary)
         二进制数用0、1两个数码表示,遵循"逢二进一"的原则,二进制的基数是2。
     (3)八进制数(Octal)
         八进制数用0、1、2、…、7八个数码表示,遵循"逢八进一"的原则,八进制的基数是8。
     (4)十六进制数(Hexadecimal)
         十六进制数用0、1、2、…、9、A、B、C、D、E、F十六个数码表示,遵循"逢十六进一"的原则,十六进制的基 
         数是16。
    来源:计算机系统结构  

二、二进制运算
1、二进制算术运算
     
二进制算术运算与十进制运算类似,同样可以进行四则运算,其操作简单、直观,更容易实现。
   
 (1) 加法运算
测试7 - 火力光波 - 火力光波的博客
       
 例题1:
测试7 - 火力光波 - 火力光波的博客
   
  (2) 减法运算
测试7 - 火力光波 - 火力光波的博客
       
 例题2:
测试7 - 火力光波 - 火力光波的博客
   
(3) 乘法运算
测试7 - 火力光波 - 火力光波的博客
       
例题3:
测试7 - 火力光波 - 火力光波的博客
   
  (4) 除法运算
测试7 - 火力光波 - 火力光波的博客
    
   例题4:
测试7 - 火力光波 - 火力光波的博客
2、二进制逻辑运算
    
逻辑代数有三种基本的逻辑关系:与、或、非,二进制的逻辑运算是按位进行了。
    
(1) 逻辑与(And)
测试7 - 火力光波 - 火力光波的博客
 
    (2) 逻辑或(Or)
测试7 - 火力光波 - 火力光波的博客
 
   (3) 逻辑非(Negate)
测试7 - 火力光波 - 火力光波的博客
 
    (4) 逻辑异或(Exclusive-Or)
测试7 - 火力光波 - 火力光波的博客

 3、二进制小数
    
两个带小数点的二进制数相加,只要将小数点对齐,按以前的同样的步骤进行即可。
     例题5,求10110.101 + 101.01 = ?
          解    10110.101
             
+)    101.01   
                 11011.111
          结果:10110.101 + 101.01 = 11011.111。
          在这里特别要说明的就是,在计算机中所有的运算最后都是以加法形式进行的,所以二进制数加法是计算机运算
          的基础。
      来源:计算机系统结构  

三、数制的转换
1、十进制数转换成非十进制数
将十进制数转换成非十进制数分为整数部分和小数部分进行。
(1)十进制整数转换成非十进制整数
     十进制整数化为非十进制整数采用"余数法",即除基数取余数。把十进制整数逐次用任意进制数的基数去除,一直到
     商是0为止,然后将所得到的余数由下而上排列即可。
例1:将十进制44转换成二进制数
测试7 - 火力光波 - 火力光波的博客演示!

(2)十进制小数转换成非十进制小数
 
   十进制小数转换成非十进制小数采用"进位法",即乘基数取整数。把十进制小数不断用其他进制的基数去乘,直到小数
    的当前值等于0或满足所要
求的精度为止,最后将所得到的乘积的整数部分由上而下排列。
例2:将十进制0.8125转换成二进制数

测试7 - 火力光波 - 火力光波的博客 演示! 
练习1:将十进制的37.125分别转换成二、八、十六进制数
测试7 - 火力光波 - 火力光波的博客  演示! 

2、非十进制数转换成十进制数
     非十进制数转换成十进制数采用"位权法",即把各非十进制数按权展开,然后求和。转换方式用如下公式表示:
     (F)x=a1×xn-1+a2×xn-2+ … +am-1×x1+am×x0+am+1×x-1+ …
例3:将二进制1011.101转换成十进制数
测试7 - 火力光波 - 火力光波的博客演示! 
练习2:将下列非十进制转换成十进制数

3、二进制数与八、十六进制数之间的转换
测试7 - 火力光波 - 火力光波的博客
例4:将二进制1001011.01转换成八进制数
测试7 - 火力光波 - 火力光波的博客演示! 
更正:转换结果八进制数应是(113.2)8
例5:将八进制371.53转换成二进制数
测试7 - 火力光波 - 火力光波的博客
 练习3:
 
  评论这张
 
阅读(555)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017