




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机中的数制与编码一、数制1、什么是进位计数制数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。按进位的原则进行计数的方法,称为进位计数制。比如,在十进位计数制中,是按照“逢十进一”的原则进行计数的。常用进位计数制:a、十位制(Decimal notation);b、二进制(Binary notation);c、八进制(Octal notation);d、十六进制数(Hexdecimal notation)2、进位计数制的基数与位权基数和位权是进位计数制的两个要素。 (1)基数:所谓基数,就是进位计数制的每位数上可能有的数码的个数。例如,十进制数每位上的数码,有0、1、3,,9十个数码,所以基数为10。(2)位权:所谓位权,是指一个数值的每一位上的数字的权值的大小。例如十进制数4567从低位到高位的位权分别为100、101、102、103。因为: 45674x1035x 1026x 101 7x100 (3)数的位权表示:任何一种数制的数都可以表示成按位权展开的多项式之和。比如:十进制数的43505可表示为:435054x1023x 1015x1000x101 5x 102位权表示法的特点是:每一项某位上的数字X基数的若干幂次;而幂次的大小由该数字所在的位置决定。 3、二进制数 计算机中为何采用二进制:二进制运算简单、电路简单可靠、逻辑性强(1)定义:按“逢二进一”的原则进行计数,称为二进制数,即每位上计满2 时 向高位进一。(2)特点:每个数的数位上只能是,两个数字;二进制数中最大数字是,最小数字是;基数为;比如:10011010与00101011是两个二进制数。()二进制数的位权表示: (1101.101)21x231x 220x 211x 201x21 0x 221x23(4)二进制数的运算规则1 加法运算 000 1110 01101 2 乘法运算 000 111 011004、八进位制数(1)定义:按“逢八进一”的原则进行计数,称为八进制数,即每位上计满8时向高位进一。(2)特点:每个数的数位上只能是、2、3、4、5、6、7八个数字;八进制数中最大数字是7,最小数字是;基数为8;比如:(1347)8与(62435)8是两个八进制数。()八进制数的位权表示: (10713)81x 820x 817x 801x81 3x 82 5、十六进制数1)定义:按“逢十六进一”的原则进行计数,称为十六进制数,即每位上计满16时向高位进一。(2)特点:每个数的数位上只能是、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数码;十六进制数中最大数字是F,即15,最小数字是;基数为16;比如:(109)16与(2FDE)16是两个十六进制数。()十六进制数的位权表示: (10913)161x 1620x1619x 1601x161 3x 162 (2FDE)162x 16315x 16213x 16114x 160 6、常用计数制间的对应关系十进制 二进制 八进制 十六进制0 0 0 01 1 1 12 102 24 100 4 48 1000 10810 1010 12A15 1111 17 F16 10000 20 107、数制间的转换(一)、十进制数转换成非十进制数 1、十进制整数转换成非十进制整数a、为什么要进行数制间的转换? 将数由一种数制转换成另一种数制称为数制间的转换。因为日常生活中经常使用的是十进制数,而在计算机中采用的是二进制数。所以在使用计算机时就必须把输入的十进制数换算成计算机所能够接受的二进制数。计算机在运行结束后,再把二进制数换算成人们所习惯的十进制数输出。这两个换算过程完全由计算机自动完成。b、转换方法十进制整数化为非十进制整数采用“余数法”,即除基数取余数。把十进制整数逐次用任意十制数的基数去除,一直到商是0 为止,然后将所得到的余数由下而上排列即可。2、十进制小数转换成非十进制小数转换方法十进制小数转换成非十进制小数采用“进位法”,即乘基数取整数。把十进制小数不断的用其它进制的基数去乘,直到小数的当前值等于0或满足所要求的精度为止,最后所得到的积的整数部分由上而下排列即为所求。二、非十进制数转换成十进制数转换方法非十进制数转换成十制数采用“位权法”,即把各非十进制数按位权展开,然后求和。 三、二、八、十进制数之间转换1、二进制 数与八进制数之间的转换转换方法 a、把二进制数转换为八进制数时,按“三位并一位”的方法进行。以小数点为界,将整数部分从右向左每三位一组,最高位不足三位时,添0补足三位;小数部分从左向右,每三位一组,最低有效位不足三位时,添0补足三位。然后,将各组的三位二进制数按权展开后相加,得到一位八进制数。b、将八进制数转换成二进数时,采用“一位拆三位”的方法进行。即 把八进制数每位上的数用相应的三位二进制数表示。2、二进制数与十六进制数之间的转换转换方法a、把二进制数转换为十六进制数时,按“四位并一位”的方法进行。以小数点为界,将整数部分从右向左每四位一组,最高位不足四位时,添0补足四位;小数部分从左向右,每四位一组最低有效位不足四位时,添0补足四位。然后,将各组的四位二进制数按权展开后相加,得到一位十六进制数。 b、将十六进制数转换成二进数时,采用“一位拆四位”的方法进行。即 把十六进制数每位上的数用相应的四位二进制数表示。 二、计算机中数的表示计算机既可以处理数字信息和文字信息,也可以处理图形、声音、图像等信息。然而,由于计算机中采用二进制,所以这些信息在计算机内部必须以二进制编码的形式表示。也就是说,一切输入到计算机中的数据都是由0和1两个数字进行 组合的。问题:这些数值、文字、字符或图形是如何用二进制编码进行组合呢? 1、机器数与真值a、机器数数学中正数与负数是用该数的绝对值,加上正、负符号来表示。由于计算机中无论是数值还是数的符号,都只能用0和1来表示。所以计算机中,为了表示正、负数,把一个数的最高位作为符号位:0表示正数,1表示负数。比如 ,如果用八个二进制位表示一个十进制数,则正的36和负的36可表示为:36 0010010036 10100100这种连同符号位一起数字化了的数称为机器数b、真值由机器数所表示的实际值称为真值。比如:机器数00101011的真值为:十进制的43 或二进制的0101011机器数1010011的真值为:十进制的43 或二进制的0101011 2、机器数的表示方法a、原码1、定义:正数的符号位用0表示,负数的符号位用1表示,数值部分用二进制形式表示,称为该数的原码。比如: 则 X81 (X)原 0 1010001 Y81 (Y)原 1 1010001符号位 数值2、用原码表示一个数简单、直观、方便。但不能用它对两个同号数相减或两个异号数相加。比如:将十进制数“36”与“45”的原码直接相加:X36 (X)原 00100100 Y45 (Y)原 =10101101而 0 0 1 0 0 1 0 0(+36)10) 1 0 1 0 1 1 0 1(-45)101 1 0 1 0 0 0 1(-81)10这显然是不对的。 b、反码定义:正数的反码和原码相同,负数的反码是对该数的原码除符号位外各位取反,即“0”变“1”,“1”变“0”。例如:X81,Y81X)原 0 1010001 (X)反 0 1010001 Y)原 1 1010001 (Y)反 1 0101110符号位 数值 符号位 数值 c、补码1、定义:正数的补码与原码相同,负数的补码是对该数的原码除符号外各位取反,然后加1,即反码加1。比如:X81,Y81 (X)原(X)反(X)补01010001(Y)原11010001(Y)反10101110(Y)补101011112、计算机中,加减法基本上都采用补码进行运算,并且加减法运算都可以用加法来实现。比如:计算十进制数:3645,可 写成:36(45),即(36)10 (45)10 (36)10(45)10(36)原 (36)反 (36)补 00100100 (45)原 10101101(45)反 11010010(45)补 11010011 而 0 0 1 0 0 1 0 0(+36)10) 1 1 0 1 0 0 1 1(-45)101 1 1 1 0 1 1 1(-9)10结果正确。三、字符编码所谓字符编码就是规定用怎样的二进制编码来表示文字和符号。它主要有以下几种:1、BCD码(二-十进制码);2、ASCII码;3、汉字编码。1、BCD码(二-十进制码):把十进制数的每一位分别写成二进制数形式的编码,称为二-十进制编码或BCD编码。BCD编码方法很多,但常用的是8421编码:它采用4 位二进制数表示1位十进制数,即每一位十进制数用四位二进制表示。这4位二进制数各位权由高到低分别是23、22、21、20,即8、4、2、1。这种编码最自然,最简单,且书写方便、直观、易于识别。比如:十进制数1998的8421码为:0001 1001 1001 1000十进制: 1 9 9 8 8421码: 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0位权: 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 思考:1、一个十进数的BCD码如何转换成十进制数? 2、一个十进制数的BCD码是该数的 二进制数吗? 3、一个十进制数的BCD码与二进制数之间如何相互转换? 2、ASCII码ASCII码是计算机系统中使用得最广泛的一种编码(读作阿斯克伊码)。ASCII码虽然是美国国家标准,但它已被国际标准化组织(ISO)认定为国际标准。ASCII码已为世界公认,并在世界范围内通用。ASCII码有7位版本和8位版本两种。国际上通用的是7位版本。7位版本的ASCII码有128个元素,其中通用控制字符34个,阿拉伯数字10个,大、小写英文字母52个,各种标点符号和运算符号32个。 比如:“A”的ASCII码值为:1000001,即十进制的65;“a”的ASCII码值为:1100001,即十进制的97;“0”的ASCII码值为:0110000,即十进制的48。3、汉字编码我国用户在使用计算机进行信息处理时,都要用到汉字:汉字的输入,输出以及汉字处理。这就需要对汉字进行编码。通常汉字有两种编码:国标码和机内码。a、国标码计算机处理汉字所用的编码标准是我国于1980年颁布的国家标准(GB2312-80),是国家规定的用于汉字编码的依据,简称国标码。国标码规定:用两个字节表示一个汉字字符。在国标码中共收录汉字和图形符号7445个。国标码本身也是一种汉字输入码。通常称为区位输入法。b、机内码机内码是指在计算机中表示一个汉字的编码。机内码是一种机器内部的编码,其主要作用是作为汉字信息交换码使用:将不同系统使用的不同编码统一转换成国标码 ,使不同的系统之间的汉字信息进行交换。正是由于机内码的存在,输入汉字时就允许用户根据自己的习惯使用不同的汉字输入法,比如:五笔字型、自然码、智能拼音等,进入系统后再统一转换成机内码存储。 (4)汉字编码西文是拼音文字,基本符号比较少,编码比较容易,因此,在一个计算机系统中,输入、内部处理、存储和输出都可以使用同一代码。汉字种类繁多,编码比拼音文字困难,因此在不同的场合要使用不同的编码。通常有4种类型的编码,即输入码、国标码、内码、字形码。 输入码输入码所解决的问题是如何使用西文标准键盘把汉字输入到计算机内。有各种不同的输入码,主要可以分为三类:数字编码、拼音编码和字编型码。数字编码。就是用数字串代表一个汉字,常用的是国标区位码。它将国家标准局公布的6763个两级汉字分成94个区,每个区分94位。实际上是把汉字表示成二维数组,区码、位码各用两位十进制数表示,输入一个汉字需要按4次键。数字编码是惟一的,但很难记住。比如“中”字,它的区位码以十进制表示为5448(54是区码,48是位码),以十六进制表示为3630(36是区码,30是位码)。以十六进制表示的区位码不是用来输入汉字的。拼音编码。是以汉字读音为基础的输入方法。由于汉字同音字太多,输入后一般要进行选择,影响了输入速度。字型编码。是以汉字的形状确定的编码,即按汉字的笔画部件用字母或数字进行编码。如五笔字型、表形码,便属此类编码,其难点在于如何拆分一个汉字。 国标码又称为汉字交换码,在计算机之间交换信息用。用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数为214=16384个。将汉字区位码的高位字节、低位字节各加十进制数32(即十六进制数的20),便得到国标码。例如“中”字的国标码为8680(十进制)或7468(十六进制)。这就是国家标准局规定的GB231280信息交换用汉字编码集。 内码汉字内码是在设备和信息处理系统内部存储、处理、传输汉字用的代码。无论使用何种输入码,进入计算机后就立即被转换为机内码。规则是将国标码的高位字节、低位字节各自加上128为了统一表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC 10646,简称UCS(Universal Code Set),它为包括汉字在内的各种正在使用的文字规定了统一的编码方法。该标准使用4个字节来表示一个字符。其中,一个字节用来编码组,因为最高位不用,故总共表示128个组。一个字节编码平面,总共有256个平面,这样,每一组都包含256个平面。在一个平面内,用一个字节来编码行,因而总共有256行。再用一个字节来编码字位,故总共有256个字位。一个字符就被安排在这个编码空间的一个字位上。例如ASCII字符“A”,它的ASCII为41H,而在UCS中的编码则为00000041H,即位于00组、00面、00行的第41H字位上。又如汉字“大”,它在GB2312中的编码为3473H,而在UCS中的编码则为00005927H,即在00组、00面、59H行的第27H字位上。4个字节的编码足以包容世界上所有的字符,同时也符合现代处理系统的体系结构。 字形码表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。通常用点阵、矢量函数等表示。用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为1616点阵、提高型汉字为2424点阵、4848点阵等。现在我们以2424点阵为例来说明一个汉字字形码所要占用的内存空间。因为每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用324=72个字节。计算公式:每行点数/8行数。依此,对于4848的点阵,一个汉字字形需要占用的存储空间为48/848=648=288个字节。(十进制)或80(十六进制)。例如,“中”字的内码以十六进制表示时应为F4E8。这样做的目的是使汉字内码区别于西文的ASCII,因为每个西文字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1。1.1 计算机中的数制及数的转换1.1.1 计算机中的数制 1. 十进制 十进制共有0、1、2、3、4、5、6、7、8、9十个数字符号,这十个数字符号又称为“数码”。在数学上,数制中数码的个数定义为基数,故十进制的基数为10。 任何一个十进制数都可以展开成幂级数形式。例如: 123.45 = 1*102 + 2*101 + 3*100 + 4*10(-1) + 5*10(-2) 注:此处用 表示指数 102、101、100、10(-1)、10(-2)称为权,10为它的基数。整数部分中每位的幂是该位位数减1,小数部分中每位的幂是该位小数的位数。 2. 二进制 二进制的特点:共有0和1两个数码;基数为2,逢2进1。 二进制数也可以展开成幂级数形式。例如: 10110.11 = 1*24 + 0*23 + 1*22 + 1*21 + 0*20 + 1*2(-1) + 1*2(-2) = 22.75 24到2(-2)为权。整数部分中每位的幂是该位位数减1,小数部分中每位的幂是该位小数的位数。 3. 十六进制 十六进制是人们学习和研究计算机中二进制数的一种工具。十六进制的数码:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。基数为16,逢16进1。 展开成幂级数形式: 70F.B1H = 7*162 + 0*161 + F*160 + B*16(-1) + 1*16(-2) = 1807.6914 注:70F.B1H 中最后一位的H表示这是一个十六进制数 表1-1 部分十进制、二进制和十六进制数对照表 整数部分 小数部分 十进制二进制十六进制十进制 二进制十六进制 0 0000 00 0 0 1 0001 10.5 0.1 0.8 2 0010 20.25 0.01 0.4 3 0011 30.125 0.001 0.2 4 0100 40.0625 0.0001 0.1 5 0101 50.03125 0.00001 0.08 6 0110 60.015625 0.000001 0.04 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F 16 10000 10 计算机内部采用二进制的原因:二进制只有0和1两个数码,采用晶体管的导通和截止、脉冲的高电平和低电平都很容易表示它;二进制数运算简单,便于用电子线路实现。 采用十六进制可以大大减轻阅读和书写二进制数的负担。例如: 11011011=DBH1001001111110010B=93F2H 注:最后一位的B表示这是一个二进制数 可见十六进制数很简短。 数的两种标记方法:一种是把数加上方括号,在方括号右下角标注数制代号;另一种,在数的后面加英文字母标记,分别用B、D、H大写字母表示二进制、十进制、十六进制,十进制的D标记可以省略。1.1.2 数制间数的转换 1. 二进制数和十进制数间的转换 (1)二进制数转换成十进制数 只要把欲转换数按权展开后相加即可,也可以从小数点开始每四位一组按十六进制的权展开并相加。例如: 11010.01B = 1*24 + 1*23 + 1*21 + 1*2(-2) = 26.25 或者 11010.01B = 1A.4H = 1*161 + 10*160 + 4*16(-1) = 26.25 (1)十进制数转换成二进制数 a. 十进制整数转换成二进制整数 除2取余法。用2连续去除要转换的10进制数,直到商小于2为止,然后把余数按最后得到的为最高位、最早得到的为最低位,依次排列起来所得到的数便是所求的二进制数。 例:求10进制数215的二进制数 先用2除215,商为107,余数为1;再用2除107,商为53,余数为1;再用2除53,商为26,余数为1;再用2除26,商为13,余数为0;再用2除13,商为6,余数为1;再用2除6,商为3,余数为0;再用2除3,商为1,余数为1;最后一次余数为1。把余数排列得:11010111B。这就是所求的二进制数。 注:当商为1时,此时这个1是最后一位余数 用算式表示如下: 2 |215| 1 2 |107| 1 2 |53 | 1 2 |26 | 0 2 |13 | 1 2 |6 | 0 2 |3 | 1 |1 | 1 = 这一位为最后一位余数 b. 十进制小数转换成二进制小数 乘2取整法。用2连续去乘要转换的10进制小数,直到所得积的小数部分为0或满足所需精度为止,然后把各次整数按最先得到的为最高位、最后得到的为最低位,依次排列起来所得到的数便是所求的二进制小数。 例:把十进制小数0.6879转换为二进制小数 0.6879 * 2 - 1.3758 取得整数1 最高位 0.3758 * 2 - 0.7516 取得整数0 * 2 - 1.5032 取得整数1 0.5032 * 2 - 1.0064 取得整数1 最低位 故:0.6879D 近似等于 0.1011B 任何十进制整数都可以精确转换成一个二进制整数,但任何十进制小数不一定可以精确转换成一个二进制小数。 对同时有整
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租房合同范本怎么填写
- 工地安全用工合同范本
- 2025解除租房合同协议书格式
- 借款抵押保证合同范本
- 装修劳务员工合同范本
- 广告合同范本2017
- 生物质销售合同范本
- 采购酒水副食合同范本
- 雕塑养护合同范本
- 建筑内部合作合同范本
- 建设工程项目风险管理策略
- 时间管理与情绪管理课件
- 地下矿山防治水培训课件
- 汉密尔顿抑郁量表(HAMD)
- 淋巴瘤健康教育课件
- 部队思想骨干培训课件
- 煤灰管道清理方案(3篇)
- DB42T 1655-2021 湖北省建设项目文物影响评估报告编制规范
- 《全媒体营销》课件-10.2构建服务营销一体化与服务公关一体化的新型服务体验
- 废旧钢模板翻新工艺技术方案
- 2025至2030中国电子产品散热器行业市场现状分析及竞争格局与投资发展报告
评论
0/150
提交评论