1 / 49

计算机中信息的表示

计算机中信息的表示. 计算机所处理的信息都是以二进制形式进行存储和处理的。. 为了进一步学习和加深对计算机工作过程的理解,很有必要了解一些数制的基本概念。. 1 数制. 数制的概念. 用一组固定的数字和一套统一的规则来表示数目的方法叫作数制。. 基数:每个数位可以使用的数码总数称为该进位数的基数。例如二进制数的基数为 2 ,即可以使用 0 和 1 两个数码。. 按权展开式:一个数中每一位的计数单位称为权,例如十进制数 26 ,其十位位数的权是 10 ,个位位数的权是 1 。任何进制的数皆可以按权展开。. 例:一个十进制数 975310

Download Presentation

计算机中信息的表示

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机中信息的表示 计算机所处理的信息都是以二进制形式进行存储和处理的。 为了进一步学习和加深对计算机工作过程的理解,很有必要了解一些数制的基本概念。

  2. 1数制 数制的概念 用一组固定的数字和一套统一的规则来表示数目的方法叫作数制。 基数:每个数位可以使用的数码总数称为该进位数的基数。例如二进制数的基数为2,即可以使用0和1两个数码。 按权展开式:一个数中每一位的计数单位称为权,例如十进制数26,其十位位数的权是10,个位位数的权是1。任何进制的数皆可以按权展开。 例:一个十进制数975310 每个数位上所能使用的符号个数:___,基数为:___; 从右到左第5位(即符号为7)这一位的位权:_______;十 进制数的位权以指数形式表达为:_______________________。 10 10 10000 105 + 104 + 103 + 102 + 101 + 100

  3. (5741)8 = ________________________。 + + + 1数制 数制的概念 任何一个N位R进制的数都可以用数字与其位权乘积之和的形式来表达。其公式为: (D1D2 … DN)R = DiRN-i = D1RN-1 + D2RN-2 + … + DN-1R1 + DNR0 另外,运算中还要遵守“逢R进一,借一当R”的进位规则。 例:一个八进制数5741 R = ___,N = ___; 8 4 D1 = ___,D2 = ___,D3 = ___,D4 = ___; 5 7 4 1 583 782 481 180

  4. 1数制 数制的分类 在我们日常生活中,十进制是最常见的数制。在计算机内部,可以使用二进制、八进制、十六进制等数制。 十进制、二进制、八进制和十六进制的基数、位权和数码符号如下所示: 10 2 8 16 10n 2n 8n 16n 0~9 0, 1 0~7 0~9, A~F 在计算机领域,不同进制分别用不同的英文符号表示,O表示八进制,H表示十六进制,D表示十进制,B表示二进制。

  5. 1数制 数制之间的转换 在介绍数制之间的转换前,先了解常用四种数制之间的对应关系。 0 0 0 0 9 1001 11 9 1 1 1 1 10 1010 12 A 2 10 2 2 11 1011 13 B 3 11 3 3 12 1100 14 C 4 100 4 4 13 1101 15 D 5 101 5 5 14 1110 16 E 6 110 6 6 15 1111 17 F 7 111 7 7 16 10000 20 10 8 1000 10 8

  6. 1数制 数制之间的转换 R进制转换为十进制 基数为R的数字,只要将各位数字与它的权相乘,其积相加,和数就是十进制数。 例:将二进制数100.101、八进制数3506.2、十六进制数0.2A转换成十进制数。 (100.101)2 = 1×22 +0×21 +0×20 +1×2-1 +0×2-2 +1×2-3 = (4.625)10 (3506.2)8 = 3×83 +5×82 +0×81 +6×80 +2×8-1 = (1862.25)10 (0.2A)16 = 0×160 +2×16-1 +10×16-2 = (0.1640625)10

  7. 1数制 数制之间的转换 R进制转换为十进制 从上面几个例子可以看到:当从R进制转换到十进制时,可以把小数点作为起点,分别向左右两边进行,即对其整数部分和小数部分分别转换。对于二进制来说,只要把数位是1的那些位的权值相加,其和就是等效的十进制数。因此,二——十进制转换是最简便的,同时也是最常用的一种。

  8. 1数制 数制之间的转换 十进制转换为R进制 将十进制数转换为基数为R的等效表示时,可将此数分成整数与小数两部分分别转换,然后再拼接起来即可。

  9. D = D1RN-1 + D2RN-2 + … + DN-1R1 + DN 1数制 数制之间的转换 十进制转换为R进制 整数部分: 我们知道,任何一个十进制整数D,都可以用一个R进制数来表示: = (D1RN-2+ D2RN-3 + … + DN-2R1 + DN-1 )R + DN = Q1R + DN 由此可知,若用D除以R,则商是__,余数是__。 Q1 DN 同理: Q1 = Q2R + DN-1 Q1再除以R,则商是__,余数是___。 Q2 DN-1 依此类推: Qi = Qi+1R + DN-i Qi再除以R,则商是___,余数是___。 Qi+1 DN-i 这样除下去,直到商为0时为止,每次除 R的余数DN,DN-1,…,D1即构成R进制数。

  10. 1数制 数制之间的转换 十进制转换为R进制 整数部分: 由上面分析得到:十进制整数转换成R进制的整数,可用十进制数连续除以R,其余数即相应R进制数的各位系数。此方法称之除R取余法。

  11. 1数制 数制之间的转换 十进制转换为R进制 整数部分: 例:将十进制数22转换成二进制数。 方法:除2取余法。 余数 最低位 2 22 0 2 11 1 2 5 1 2 2 0 2 1 1 最高位 0 所以 (22)10 = (10110)2

  12. 1数制 数制之间的转换 十进制转换为R进制 整数部分: 例:将十进制数168转换成八进制数。 方法:除8取余法。 余数 最低位 8 168 0 8 21 5 8 2 2 最高位 0 所以 (168)10 = (250)8

  13. 1数制 数制之间的转换 十进制转换为R进制 小数部分: 我们可将某十进制小数用R进制数来表示: V = X-1/R1+ X-2/R2 + X-3/R3 + … + X-M/RM 等式两边乘以R得到: V×R = X-1 + X-2/R1 + X-3/R2 + … + X-M/RM-1 = X-1 + F1 X-1是整数部分,即R进制数小数点后第一位,F1是小数部分。 小数部分再乘以R: F1×R = X-2 + X-3/R1 + … + X-M/RM-2 = X-2 + F2 X-2是整数部分,即R进制数小数点后第二位。 依次乘下去,直到小数部分为0,或达到 所要求的精度为止(小数部分可能永不为0)。

  14. 1数制 数制之间的转换 十进制转换为R进制 小数部分: 从前面分析得到:十进制小数转换成R进制数时,可连续地乘以R,得到的整数即组成R进制的数,此法称为“乘R取整”。

  15. 1数制 数制之间的转换 十进制转换为R进制 小数部分: 例:将十进制数0.8125转换成二进制数。 方法:乘2取整法。 0.8125 取整 × 2 最高位 1.6250 1 0.6250 × 2 1.2500 1 0.2500 × 2 0.5000 0 0.5000 × 2 1 1.0000 最低位 所以 (0.8125)10 = (0.1101)2

  16. 1数制 数制之间的转换 十进制转换为R进制 若将十进制数22.8125转换成二进制数,可分别进行整数部分和小数部分的转换,然后再拼在一起: (22.8125)10 = (10110.1101)2

  17. 1数制 数制之间的转换 二进制、八进制、十六进制之间的相互转换 二进制数转成八进制数:由于8是2的整数次幂,因此,一位八进制数正好相当于三位二进制数。对于整数,转换顺序是从最右三位数起,不够三位补零,同理对于小数,按从左向右的顺序进行。 例:将二进制数11010110101.11101011101B转换成八进制数。 整数: 0 11010110101 3 2 6 5 (3265)8 小数: 11101011101 0 (0.7272)8 7 2 7 2 所以 (11010110101.11101011101)2 = (3265.7272)8

  18. 1数制 数制之间的转换 二进制、八进制、十六进制之间的相互转换 二进制数转成十六进制数:由于16也是2的整数次幂,因此,一位十六进制数正好相当于四位二进制数。对于整数,转换顺序是从最右四位数起,不够四位补零,同理对于小数,按从左向右的顺序进行。 例:将二进制数110100111111010.10111101101001B转换成十六进制数。 整数: 0 110100111111010 6 9 F A (69FA)16 小数: 10111101101001 00 (0.BDA4)16 B D A 4 所以 (110100111111010.10111101101001)2 = (69FA.BDA4)16

  19. 1数制 数制之间的转换 二进制、八进制、十六进制之间的相互转换 由于八进制或十六进制与二进制之间的转换极为方便,而且用八进制或十六进制书写要比用二进制书写简短,阅读也方便,因此,八进制或十六进制常用于指令的书写、编制程序或目标程序的输入与输出。 特别是,计算机存储器以字节为单位,一个 字节包含八个二进制位,正好用两个十六进 制位表示,因此,十六进制用得更多一些。

  20. 1数制 二进制的重要性 计算机内部的一切信息(包括数值、字符、指令等)的存放、处理和传送均采用二进制数的形式。二进制数在计算机内是以元器件的物理状态来表示的,这些元器件具有两种不同的稳定状态(低电平表示0,高电平表示1)且能相互转换。 在计算机内部,采用二进制数表示信息的原因主要有以下几点: (1)容易实现。具有两种稳定状态的电子器件在技术上很容易实现。 (2)可靠性好。 (3)具有逻辑性。二进制数的0和1与逻辑代数中的真和假相对应。 二进制数的书写比较复杂,因此,通常又用八进制或十六进制来书写和表示。

  21. 2数据与编码 在计算机内部,数据均采用二进制编码来表示。一串二进制位,既可以表示数值的大小,也可以表示字符的编码。

  22. 2数据与编码 信息的存储单位 信息的单位通常采用“位”、“字节”、“字”。 位(bit):度量数据的最小单位,表示一位二进制信息。 字节(byte):一个字节由八位二进制数字组成(1 byte = 8 bit)。字节是信息存储中最常用的基本单位。

  23. 2数据与编码 信息的存储单位 计算机的存储器(包括内存与外存)通常也是以多少字节来表示它的容量。常用的单位有: K字节: 1K = 1024byte M(兆)字节: 1M = 1024K G字节: 1G = 1024M

  24. 2数据与编码 信息的存储单位 字(Word):字是位的组合,并作为一个独立的信息单位处理。字又称为计算机字,它的含义取决于机器的类型、字长以及使用者的要求。常用的固定字长有8位、16位、32位等。 机器字长:在讨论信息单位时,还有一个机器硬件指标有关的单位,这就是机器字长。机器字长一般是指参加运算的寄存器所含有的二进制数的位数, 它代表了机器的精度。

  25. 2数据与编码 二进制数的编码表示 一个数在机内的表达形式称为“机器数”,而它代表的数值称为此机器数的“真值”。 前面已经提到,数值信息在计算机内是采用二进制编码表示。数有正、负之分,在计算机中如何表示符号呢? 一般情况下:用“0”表示正号,“1”表示负号,符号位放在数的最高位。 例:8位二进制数A=(+1011011) B=(-1011011) ,它们在机器中 可以表示为: A: B: 其中最左边一位代表符号位,连同数字 本身一起作为一个数。

  26. 2数据与编码 二进制数的编码表示 数值信息在计算机内采用符号数字化处理后,计算机便可以识别和表示数符了。为了改进符号数的运算方法和简化运算器的硬件结构,人们研究了符号数的多种二进制编码方法,其实质是对负数表示的不同编码。 下面就给大家介绍几种常用的编码——原码,反码和补码。

  27. 2数据与编码 二进制数的编码表示 原码 将符号位数字化为0或1,数的绝对值与符号一起编码,即所谓“符号——绝对值表示”的编码,称为原码。 用原码表示一个带符号的整数: 如果我们用一个字节存放一个整数,其原码表示如下: X=+0101011 [X]原=00101011 X=-0101011 [X]原=10101011 这里,“[X]原”就是机器数,X称为机器数 的真值。

  28. 2数据与编码 二进制数的编码表示 原码 用原码表示一个带符号的纯小数: 原码表示就是把小数点左边一位用作符号位。 例如: X=0.1011 [X]原=0.1011 X=-0.1011 [X]原=1.1011

  29. 2数据与编码 二进制数的编码表示 原码 当采用原码表示法时,编码简单直观,与真值转换方便。但原码也存在一些问题: (1)零的表示不唯一,因为: [+0]原=00000000 [-0]原=10000000 零有二义性,给机器判零带来麻烦。 (2)用原码进行四则运算时,符号位需 单独处理,且运算规则复杂。

  30. 2数据与编码 二进制数的编码表示 反码 反码很少使用,但作为一种编码方式和求补码的中间码,下面给大家介绍一下。 正数的反码与原码表示相同。 负数反码的符号位与原码相同(仍用1表示),其余各位取反(0变1,1变0)。例如: X=+1100110 [X]原=01100110 [X]反=01100110 X=-1100110 [X]原=11100110 [X]反=10011001 X=+0000000 [X]原=00000000 [X]反=00000000 X=-0000000 [X]原=10000000 [X]反=11111111 和原码一样,反码中零的表示也不唯一。

  31. 2数据与编码 二进制数的编码表示 反码 当X为纯小数时,反码表示如下: X=0.1011 [X]原=0.1011 [X]反=0.1011 X=-0.1011 [X]原=1.1011 [X]反=1.0100

  32. 2数据与编码 二进制数的编码表示 补码 模数的概念 模数从物理意义上讲,是某种计量器的容量。例如,我们日常生活中用的钟表,模数就是12。钟表计时的方式是:达到12就从零开始(扔掉一个12),这在数学上是一种“取模(或取余)运算(mod)”。例如: 14 mod 12 = 2 如果现在的准确时间是6点整,而你的手表指向8点,怎样把表拨准呢?可以有两种方法:把表往后拨2小时,或把表往前拨10小时,效果是一样的,即: 8 - 2 = 6 (8 + 10) mod 12 = 6

  33. 2数据与编码 二进制数的编码表示 补码 模数的概念 在模数系统中: 8 - 2 = 8 + 10 (mod 12) 上式之所以成立,是因为2与10对模数12是互为补数的(2+10=12)。 因此,我们可以认可这样一个结论:在模数系统中,一个数减去另一个数,或者说一个数加上一个负数,等于第一个数加上第二个数的补数: 8 + (-2) = 8 + 10 (mod 12) 我们称10为-2在模12下的“补码”。负数采用补码表示后,可以使加减法统一为加法运算。

  34. 2数据与编码 二进制数的编码表示 补码 补码表示法 由以上分析得知,对一个二进制负数可用其模数与真值做加法(模减去该数的绝对值)求得其补码。例: X=-0110 [X]补= 24+(-0110) =1010 X=-0.1011 [X]补= 2+(-0.1011) =1.0101 由于机器中不存在数的真值形式,用上述公式求补码在机器中不易实现,但从上式可推导出一个简便方法。

  35. 2数据与编码 二进制数的编码表示 补码 补码表示法 对于一个负数,其补码由该数反码的最末位加1求得。 例:求X=-1010101的补码 [X]原=11010101 [X]反=10101010 [X]补=10101011 例:求X=-0.1011的补码 [X]原=1.1011 [X]反=1.0100 [X]补=1.0101 对于正数来说,其原码、反码、补码形式相同。

  36. 2数据与编码 二进制数的编码表示 补码 补码表示法 补码的特点之一就是零的表示唯一。 [+0]补=00000000 [-0]补= [-0]反+1 = 11111111+1 = 1 00000000 自动丢失

  37. 2数据与编码 二进制数的编码表示 补码 补码的运算规则 当数值信息参与算术运算时,采用补码方式是最方便的。首先,符号位可作为数值参加运算,最后仍可得到正确的结果符号,符号无需单独处理;其次,采用补码进行运算时,减法运算可转换为加法运算,简化了硬件中的运算电路。 例:用8位十进制补码计算67-10=? 例:用8位十进制补码计算10-67=?

  38. 2数据与编码 二进制数的编码表示 定点数与浮点数 数值数据既有正、负之分,又有整数和小数之分。在计算机中通常采用浮点方式表示小数,下面给大家介绍数的浮点表示法。 一个数N用浮点形式表示(即科学表示法),可以写成: N = M × RE 其中R表示基数,一旦机器定义好了基数值,就不能再改变了。因此基数在数据中不出现,是隐含的,一般取2。 E表示2的幂,称为数N的阶码。阶码确定 数N的小数点的位置,其位数反映了该浮点数 所表示的数的范围。 M表示数N的全部有效数字,称为数N的尾 数,其位数反映了数据的精度。

  39. 2数据与编码 二进制数的编码表示 定点数与浮点数 阶码和尾数都是带符号的数,可以采用不同的码制表示法,例如尾数常用原码或补码表示,阶码多用补码表示。 浮点数的具体格式随不同机器而有所区别。例如,假设有一台16位机,其浮点数组成为阶码4位,尾数12位,则浮点数格式如下: 小数点位置 15 14 12 11 10 0 阶符 阶码 尾符 尾码 下面是一个实际的例子,其中阶码、尾数 分别用补和原码表示。 表示: -0.11×22 表示: 0.11×2-3

  40. 2数据与编码 二进制数的编码表示 数的表示范围 机器中数的表示范围与数据位数及表示方法有关。一个m位整数(包括一位符号位),如果采用原码或反码表示法,能表示的最大数为2m-1-1,最小数为-(2m-1-1)。若有补码表示,能表示的最大数值为2m-1-1,最小数为-2m-1。 这里要说明一点,由于补码中的“0”的表示是唯一的,故[X]补= 100…0,对应的真值X = -2m-1,从而使补码的表示范围与原码有一点差异。(注意:补码100…0 的形式是一个特殊情况,权为2m-1位的1既代表 符号又表示数值)。 例:设m=8,则原码表示范围为_____________,反码表示范围 是____________,补码的表示范围是______________。 -127 ~ +127 -127 ~ +127 -128 ~ +127

  41. 2数据与编码 非数值信息的表示 非数值编码的概念 在计算机内部,非数值信息也是采用“0”和“1”两个符号来进行编码表示的。下面着重介绍一下中、西文的编码方案。

  42. 2数据与编码 非数值信息的表示 ASCII编码 计算机普遍使用的编码是ASCII编码。ASCII编码是美国标准信息交换码( American Standard Code for Information Interchange)的缩写,它是将字符用二进制代码表示的编码系统,已经被国际标准化组织ISO采纳,作为国际通用的信息交换标准代码。如下所示

  43. 2数据与编码 ASCII码

  44. 2数据与编码 非数值信息的表示 ASCII编码 ASCII码是一种七位码,也就是说,每个字节的八位只占用了七位,把最高位置为0。在ASCII码中,一个字节表示一个字符,可以表示26个英文大、小写字母,10个阿拉伯数字,32个专用符号和34个通用控制符号。

  45. 2数据与编码 非数值信息的表示 国家标准汉字编码 我国在1980年颁布了计算机处理汉字的编码标准GB2312-80,即信息交换用汉字编码字符集——基本集,简称国标码。 汉字国标码共收录了7445个汉字和图形符号,主要包括以下几部分: (1)按汉语拼音字母顺序排列的一级汉字3755个。 (2)按汉字部首顺序排列的二级汉字3008个。 (3)图形符号682个。

  46. 2数据与编码 非数值信息的表示 国家标准汉字编码 国标码用两个字节来表示一个汉字(一个字节显然不够,其最多表示28个字符),每个字节只用后七位,最高位为0。在实际应用中,用四位十六进制数(称为区位码,是用两个字节的二进制转换而来的)来表示一个汉字。计算机汉字输入法中的区位码输入法,就是按照国标码输入汉字的,区位码的高字节称为区号,低字节称为位号。 需要注意的是,在计算机内部进行汉字处理时,不能直接使用国标码,而要将最高位变为1,转换成汉字内码(简称内码)。这样做是为了区别汉字码与ASCII码,当其最高位为0时,表示ASCII,当其最高位为1时,表示汉字码。

  47. 2数据与编码 非数值信息的表示 国家标准汉字编码 汉字是一种象形文字,每一个汉字都可以看成是一个特定的图形,这种图形可以用点阵来描述。 例如,如果用16×16点阵来表示一个汉字,则一个汉字图形一行有16个二进制位,一共有16行。由于计算机存储器的每一个字节有八个二进制位,所以16个二进制位相当于两个字节。因此,一个16×16点阵的汉字字形需要2(字节)×16(行)=32个字节存放,这 32个字节中的信息就构成了一个汉字的字模。 所有汉字模的集合就构成了汉字字库。 例:一个24×24点阵的汉字字形需要用多少个字节存放。 × 3(字节) = 72个字节 24(行)

  48. 2数据与编码 非数值信息的表示 国家标准汉字编码 计算机要输出一个汉字时,首先要根据该汉字的机内码找出其字模信息在字库中的位置,然后取出汉字的字模信息作为图形在屏幕上显示或在打印机上输出。

  49. 小结 1.各种进位制的表示方法; 2.各种进位制之间的相互转换; 3.计算机中采用二进制的优点; 4.位、字节的概念; 5.机器中数的表示; 6.ASCII码表的用法,ASCII码的特点; 7.汉字编码的内码和外码和字形码。

More Related