1、计算机中数据的表示,第二章,进位计数制的有关概念几种进位制的相互转换计算机中数据的表示形式,本讲内容提要,计数制计数的方法,计 数 制,对于R进制数的特点,1。每一种计数制都有一个固定的基数R,它的每一位可能取R个不同的数值。,2。它是逢R进位。因此,它的每一个数位 i ,对应一个固定的值Ri , Ri 就称为该位的“权”,小数点左面各位的权依次是基数R的正次幂,而小数点右面各位的权依次是基数R的负次幂。,基数 Radix 数码的个数或进位值,数 码 及 其 个 数 进位值 十进制 09, 10个 10 二进制 0和1, 2个 2 八进制 07, 8个 8十六进制 09及AB, 16个 16
2、R进制 R个 R,逢 进 , 借 当 ,位权及其性质,(1999)10= 1103 + 9102 + 9 101 + 9 100,基数,位权,(101.11)2= 122 + 021 + 1 20 + 1 2-1 + 1 2-2,位权及其性质,任意R计数制的数可以按其位权方式展开,若L有 N 位整数 M 位小数其各位数为,(Kn-1Kn-2K2K1K0.K-1 K-m),与位置有关,十进制数转换为进制数,小数:乘取整法(先得最高位,后得最低位),余K0,除R,整数:除取余法(先得最低位,后得最高位),乘R,取整K -1,十进制转换为二进制,3 5,2,1 7,1,2,8,1,2,4,0,2,2
3、,0,2,1,0,1,2,0,最高位,最低位,(35)10=(100011)2,转换整数部分,例:将十进制数35.625转换为二进制数,(.625)10=(.101)2,0. 625, 2,1. 250, 2,0. 500, 2,1. 000,最高位,最低位,转换小数部分,(35.625)10=(100011.101)2,十进制转换为二进制,R进制数转换为十进制数 权展开式,十进制 99 = 9101 + 9100,二进制 01100011= 027+126+125 +024+023+022 +121+120 = 99,八进制 143=182+481+380 = 99,十六进制 63 = 61
4、61+3160 = 99,(01100011)2 = (143)8 = (63)16 = (99)10,R进制中的n位为多少?,二、八、十、十六进制数的对照表, B,= 2 Q,二进制,八进制,十六进制,二八进制和二十六进制的转换表见30页, B,= H,二进制数表示,八进制数表示,十六进制数表示,二十进制编码BCD码,1.BCD数形式上是二进制数, 实质上是十进制数,即将一位十进制数字用四位二进制数来表示;(也称为二进制编码的十进制数,BCD) 2.各位的权根据编码方案的不同分别有8421、5421码、2421码、格雷码等。应用得最多的一种为8421,即每位的权分别为8-4-2-1。,2 5
5、 8,0010 0101 1000,信息的分类,控制信息,数值信息,信息,数据信息,非数值信息,定点数,二字节浮点数的存储格式,任意的二进制数 N (),基数,尾数,阶码,数符,阶符,1.阶码为整数,反映数的大小; 2.尾数为纯小数,反映数的精度,必须规格化;3.基数 R=2 是隐含的。,N 123.625 1111011.101 B 0.1111011101 2111,i = 111 指明小数点在此, 3.1416 11.00100100001 B 0.11001001000 210,i = 010 指明小数点在此,指明其有效位数,指明其有效位数,机器数 数值型数据的表示方法,数的真值 ,特
6、点: 。用二进制表示; 。正负号数值化: ;; 3。规定小数点的位置; 4。表示的数值范围总是有限的。,原码、反码和补码 (1),原码数值化的符号位加上数的绝对值,X= +91 = +1011011, X原=01011011 X= -91 = -1011011, X原=11011011,一字节(8bit)原码表示的整数范围是 127+127,正数原 =正数反 =正数补,原码、反码和补码 (2),负数的反码规定为: 把负数的原码除符号位之外的其它各位按位取反,X原= 1 1 0 1 1 0 1 1 X反= 1 0 1 0 0 1 0 0,负数的补码规定为: 先求负数的反码, 再把反码的最低位加
7、1,X原= 1 1 0 1 1 0 1 1 X反= 1 0 1 0 0 1 0 0 X补= 1 0 1 0 0 1 0 1,补码的用途 变减法为加法,10-4=6 倒拔10+8=6 顺拔,10+8=12+6,模,8与-4对模12互为补数,变减法为加法,进制数的互相转换,例题:将十进制数 2 3 分别用二、八、十六进制数表 示;并写出 2 3 的补码(用8 位二进制数表示),可以先求出23 的二进数的表示,再根据二进制数与八、十六进制数的关系写出其相应的表示,求 2 3 的二进数的表示: 用除 2 取余法,2 3 D = 1 0 1 1 1 B,进制数的互相转换,例题:将十进制数 2 3 分别用
8、二、八、十六进制数表 示;并写出 2 3 的补码(用8 位二进制数表示),根据二进制数与八、十六进制数的关系写出其相应的表示(注意从低位划分组,不足在高位补助0 ),2 3 D = 1 0 1 1 1 B = 2 7 Q = 1 7 H,进制数的互相转换,例题:将十进制数 2 3 分别用二、八、十六进制数表 示;并写出 2 3 的补码(用8 位二进制数表示),2 3 0 0 0 1 0 1 1 1,写出 2 3 的补码(注意:用8 位二进制数表示),- 2 3 1 0 0 1 0 1 1 1,- 2 3 1 1 1 0 1 0 0 0,- 2 3 1 1 1 0 1 0 0 1,23 原码,-
9、 23 原码,- 23 反码,- 23 补码,进制数的互相转换,例题:将(0010 0011)BCD 分别用二、八、十六进制数 表 示,(0010 0011)BCD= (2 3 )10,(0010 0011)BCD 不是二进制数。则先转换为十进制数,利用十进制数再转换为二、八、十六进制数,ASCII码表,SP!”()/,:;?,关于ASCII码表,1.表中00H1FH段的32个代码是对控制符的编码。一个控制符代表一种操作。例如,“CR”代表“回车”操作,在键盘上击回车键,将代码 0DH 送入主机。 2. 20H是对“空格”的编码,“空格”是字符,而且在文字之间是可见的字符。 3. 09 十个数
10、字的编码是 30H39H 。 4. 英文大写字母的编码是 41H 5AH ,小写字母的编码是 61H 7AH 。主机在存储、处理大写字母 A和小写字母 a 时按不同的代码区别对待。,汉字编码,汉字是象形文字汉字的字型结构复杂汉字重音字多汉字的多音字多,汉字的字型表示,128,72,占用字节数=点阵列数8行数,288,汉字信息的数字化,数 字 码拼 音 码字 形 码,内部数据处理,汉字信息的数字化,国标码:国家标准信息交换用汉字编码。国标码采用双字节的编码方式。,国标码采用 ASCII 码表中的可显示字符的代码21H7EH 作为汉字的区码和位码,构成 9494 的矩阵,对收入的 6763 个汉字
11、、 682 个西文字符和图符进行编码。矩阵的每一行称为 “区”,每一列称为 “位”国标区位码。可以作为汉字输入码。,机内码是计算机内部存储和处理信息的二进制代码,0 0 1 1 0 0 0 0,汉字国标码与机内码,0 0 1 0 0 0 0 1,“啊”的国标码 3021H“,“啊”的机内码 B0A1H“,所以 国标码 3021 H + 8080 H = 机内码 B0A1 H,“啊”的区位码 1601D = 1001H “,汉字区位码与机内码,0 0 0 1 0 0 0 0,0 0 0 0 0 0 0 1,“啊”的国标码 3021H“,“啊”的机内码 B0A1H“,所以, 区位码 1601D = 1001 H + 2020 H = 国标码 3021H + 8080 H = 机内码 B0A1 H,