第1章 计算机科学基础.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第1章 计算机科学基础.doc》由会员分享,可在线阅读,更多相关《第1章 计算机科学基础.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章 计算机科学基础1.1 数制及其转换1.1.1 数制的概念数制也叫“进位计数制” ,一般指用一组固定的数字符号线性排列,按照由低位向高位进位计数的规则来表示数目的方法。在人们的社会生产活动和日常生活中,大量使用着各种进位计数制,除了使用最普遍的十进制外,还常用到七进制(七天为一周) 、十二进制(十二个月为一年) 、六十进制(六十秒为一分,六十分为一小时) ,等等。在电子数字计算机中数据存储、处理和传送时常采用二进制数,而为了书写方便,还引入了八进制数、十六进制数,十进制数。进位计数制涉及两个基本要素:基数(radix)和各个数位的位权(weight) 。如果在一个采用进位计数制的数字
2、系统中,只使用 R 个基本符号(例如,0,1,2,R1)来表示数值,则称其为基 R 数制,R 则称为该数制的“基数” ,而每一个数码位置所对应的数值则称为“位权” 。简言之,基数就是该进制中所允许选用的基本数码的个数,例如,十进制是逢十进一,每个数位上所允许使用的数符是 0,1,2,9 共 10 个,所以十进制的基数为 10;位权的大小就是以基数为底、数码所在位置的序号为指数的整数次幂,例如,十进制数的个位数位置的位权为 100=1,十位数位置的位权为 101=10,百位数位置的位权为 102=100,小数点后第 2 位的位权为 102=0.01。一般来说,任意一个具有 n 位整数和 m 位小
3、数的 R 进制数 N 可以按权展开表示为:(N)R = dn1 Rn1 + dn2 Rn2 + + d1 R1 + d0 R0 + d1 R1 + + dm Rm 例如,在十进制中,234.56 可以表示为:(234.56)10 = 2 102 + 3 101 + 4 100 + 5 101 + 6 1021.1.2 常用数制及其转换方法1计算机中的常用数制在现代电子数字计算机技术领域,计算机内部对各种数据、指令等均使用二进制编码表示,原因如下。(1)技术上容易实现,可靠性强。大多数用来组成计算机的元器件都具有两种稳定状态:电流的通和断;电压的高和低;晶体管的导通和截止;电容的充电和放电;磁场
4、的南极和北极;光信号的有和无等。这两种状态界限分明、稳定可靠、抗干扰能力强,恰好信息系统运行管理员教程2可以表示二进制中的两个数码“1”和“0” 。(2)运算规则简单。二进制数由于数码个数少,运算规则比十进制简单得多,如表1-1 所示。因此可以简化计算机内部运算器、寄存器的线路设计,从而提高运算速度。表 1-1 二进制运算规则加法规则减法规则乘法规则加法规则减法规则乘法规则0 + 0 = 00 0 = 00 0 = 01 + 0 = 11 0 = 11 0 = 00 + 1 = 10 1 = 1 且借位 10 1 = 01 + 1 = 0 且进位 11 1 = 01 1 = 1(3)实现逻辑运
5、算容易。计算机系统中除了算术运算外,逻辑运算也很重要,而二进制中的“1”和“0”和逻辑代数中的逻辑量“真”和“假”相吻合,可以使计算机十分方便地进行逻辑运算。(4)与其他数制转换方便。二进制与其他几种常用数制的对应关系并不复杂,可以很方便地转换成八进制、十六进制和人们最习惯使用的十进制。为了便于区别不同的数制,常在数字后面加一个缩写字母作为数制的标识。表 1-2 列出了计算机中常用的几种数制。表 1-2 计算机中常用的各种数制表示数制十进制二进制八进制十六进制数符0,1,2,90,10,1,2,70,1,2,9,A,B,C,D,E,F基数102816位权10i2i8i16i计数规则逢十进一逢二
6、进一逢八进一逢十六进一标识字母D (可省略不写)BOH标识下标102816举例(123.625)D(123.625)2(1111011.101)B(1111011.101)2(173.5)O(173.5)8(7B.A)H(7B.A)162各种数制间的转换绝大多数计算机都使用二进制进行算术逻辑运算,但是计算机用户在输入原始数据,打印、显示运算结果时,习惯使用的仍然是熟悉的十进制,这就要求计算机系统一方面能够将输入的十进制数据转换成二进制数据后再进行计算,另一方面还能够将二进制的计算结果转换成十进制数据后再进行输出。各种数制间的转换工作由计算机按照一定的算法自动完成。尽管二进制非常适合在计算机内使
7、用,但是其书写复杂、数位冗长,容易出错且不便阅读。所以,在计算机技术文献的书写时,常使用八进制和十六进制。各种数制之间的转Error! No text of specified style in document.3换方法如下:(1)任意进制转换成十进制。利用按权展开的方法,可以将一个任意进制的数转换成十进制数。只要将各位数码乘以各自的权值后累加即可。【例】 将二进制数(1001.101)B转换成十进制数。解 (1001.101)B= 1 23 + 0 22 + 0 21 + 1 20 + 1 21 + 0 22 +1 23= 8 + 1 + 0.5 + 0.125 = (9.625)D 【例
8、】 将八进制数(25.46)O转换成十进制数。解 (215.46)O= 2 82 + 1 81 + 5 80 + 4 81 + 6 82= 128 + 8 + 5 + 0.5 + 0.09375 = (141.59375)D 【例】 将十六进制数(B2A.D)H转换成十进制数。解 (B2A.D)H= 11 162 + 2 161 + 10 160 + 13 161= 2816 + 32 + 10 + 0.8125 = (2858.8125)D (2)十进制转换成二进制。在将一个十进制数转换成二进制数时,对其整数部分和小数部分需要使用不同算法进行转换,整数部分用除基取余法转换,小数部分用乘基取整
9、法转换。 除基取余法。转换算法为:将十进制整数除以二进制基数 2,得到一个商数和余数,取该余数作为二进制数的最低位数 d0;再将所得商数继续除以 2,又得到一个商数和余数,取该余数作为二进制数的次低位数 d1;重复此过程,直到商数为 0;将每次除得余数(必定为 0 或 1)按从低位到高位顺次排列,即构成对应的二进制数。【例】 将十进制整数(83)D转换为二进制整数。解 十进制整数 余数 二进制数码 位序2 8 3 1d0 = 1最低位2 4 1 1d1 = 1次低位2 2 0 0d2 = 02 1 0 0d3 = 02 5 1d4 = 12 2 0d5 = 02 1 1d6 = 1最高位0 商
10、为 0,结束最后结果为:(83)D = (d6d5d4d3d2d1d0)B = (1010011)B 乘基取整法。转换算法为:将十进制纯小数乘以二进制基数 2,取其乘积的整数部分作为二进制小数的最高位 d1;再将乘积的小数部分继续乘以 2,所得新积的整数部分作为二进制小数的次高位 d2;重复此过程,直到余下的纯小数为 0 或者满足所要求的精度为止;将每次取出的整数部分(必定为 0 或 1)按从左到右顺次排列,即构成对应的二进制小数。信息系统运行管理员教程4【例】 将十进制小数(0.8125)D转换为二进制小数。解 十进制小数 积的整数部分 二进制数码 位序0.8125 2 1.62501d1
11、= 1最高位0.625 2 1.2501d2 = 1次高位0.25 2 0.500d3 = 0 2 1.01d4 = 1最低位0.0 纯小数为 0,结束最后结果为:(0.8125)D = (0.d1d2d3d4)B = (0.1101)B请注意,并不是所有的十进制小数都能完全精确地转换为有限位的二进制小数,例如,(0.3)D =(0.0011001100)B。这时可以根据精度要求并考虑计算机字长取一定位数后,按“0 舍 1 入”原则得到该十进制小数的二进制近似值。 当要把一个既有整数又有小数部分的十进制数转换成二进制数时,按下列 3 个步骤进行: 将整数部分按除基取余法进行转换; 将小数部分按
12、乘基取整法进行转换; 将已经转换的两部分合在一起即得所求的二进制数。【例】 将十进制数(83.8125)D转换为二进制数。解 由上可知(83)D = (1010011)B(0.8125)D = (0.1101)B 故(83.8125)D = (1010011.1101)B(3)二进制与八进制相互转换。二进制的基数是 2,八进制的基数是 8。由于 23=8,因此 3 位二进制数相当于 1 位八进制数。表 1-3 列出了 3 位二进制数与 1 位八进制数的对应关系。表 1-3 二进制数与八进制数的对应关系二进制数000001010011100101110111八进制数01234567当要把二进制数
13、转换成八进制数时,以小数点为分界,整数部分从右向左,小数部分Error! No text of specified style in document.5从左向右,每 3 位划分为一组(不足 3 位时,整数部分在高位补 0 占位,小数部分在低位补 0 占位) ,然后把每一组二进制数写成所对应的八进制数即可。【例】 将二进制数(1010011.1101)B转换成八进制数。解 (1010011.1101)B = ( 0 0 1 0 1 0 0 1 1 . 1 1 0 1 0 0 )B高位补 0 低位补 01 2 3 . 6 4 最后结果为:(1010011.1101)B = (123.64)O反之
14、,将每 1 位八进制数用 3 位二进制数来表示,就可以把八进制数转换成对应的二进制数。【例】 将八进制数 (36.57)O转换成二进制数。解 (36.57)O =36.57. 011110.101111 最后结果为:(36.57)O = (11110.101111)B(4)二进制与十六进制相互转换。二进制的基数是 2,十六进制的基数是 16。由于 24 = 16,因此 4 位二进制数相当于 1 位十六进制数。表 1-4 列出了 4 位二进制数与 1 位十六进制数的对应关系。表 1-4 十六进制数与十进制数、二进制数的对应关系二进制数0000 0001 0010 0011 0100 0101 0
15、110 0111 1000 1001 1010 1011 1100 1101 1110 1111十进制数0123456789101112131415十六进制数0123456789ABCDEF与二进制转换成八进制类似,当要把二进制数转换成十六进制数时,以小数点为分界,整数部分从右向左,小数部分从左向右,每 4 位划分为一组(不足 4 位时,整数部分在高位补 0 占位,小数部分在低位补 0 占位) ,然后把每一组二进制数写成所对应的十六进制数即可。【例】 将二进制数(1011011.1101)B转换成十六进制数。解 (1011011.1101)B = ( 0 1 0 1 1 0 1 1 . 1 1
16、 0 1 )B高位补 0 5 B . D 最后结果为:(1011011.1101)B = (5B.D)O反之,将每 1 位十六进制数用 4 位二进制数来表示,就可以把十六进制数转换成对应的二进制数。【例】 将十六进制数 (3A.7C)H转换成二进制数。解 (3A.7C)H = 3A.7C信息系统运行管理员教程6. 00111010.01111100 最后结果为:(3A.7C)H = (111010.011111)B(5)八进制与十六进制相互转换。如果需要把八进制与十六进制相互转换时,则需要借助二进制来实现。先把八进制数(或十六进制数)转换成二进制数,然后把所得的二进制数再转换成十六进制数(或八
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机科学 基础
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内