②定点减法运算
运算规则:[x-y]补=[x+(-y)]补=[x]补+[-y]补
[-y]补的求法是将[y]补的各位(包括符号位)全变反后,最末位加1。 注意:在进行运算时有时会发生溢出。 2.字符型数据的表示:
当计算机处理非数值问题, 要引入文字、字母、数字、符号等各种不同的字符,这些字符信息和十进制数一样,也要转换成二进制形式的代码,即用0、1组合来表示不同的字符信息。如两位二进制数字有四种不同的组合即00、01、10、11,可以表示四个不同的字符。目前,我们常用的有西文字符编码和汉字编码。
1)ASCII码:ASCII码是美国信息交换标准码(American Standard Code for Information Interchange),它采用7位二进制数进行编码,可表示128个字符,但一般用一个字节来存放一个ASCII符,最高位始终为0,有时最高位也用于在数据传输中作奇偶校验位,所以基本的ASCII表只有128个符号。 2)汉字编码:
GB2312-80是1981年我国公布的《信息交换用汉字编码字符集---基本集》,该基本集中共有7445个汉字及符号,其中汉字6763个,根据汉字的使用频度将其分为两级一级3755个按拼音顺序排列,二级汉字3008个按部首排列。
用计算机来处理汉字信息,首先要将汉字代码化,然后输入计算机,并将其转换为汉字内码,才能进行信息处理,处理完毕再将汉字内码转换成汉字字形码,才能在显示器或打印机上输出。
汉字编码中,根据不同的用途,需要有不同的编码,主要有汉字输入码、汉字机内码和汉字输出码。
1)汉字输入码:利用计算机的输入设备所提供的符号,按照设定的编码规则和约定用一串符号代码来表示汉字。根据汉字编码的方法不同将汉字的输入码又分为数字编码、字音编码、字形编码、形音编码。常用的有五笔字型、汉语拼音、智能ABC、区位码等。
区位码:81年公布的国家标准信息交换用汉字编码基本字符集GB2312-80,94×94,汉字及各种符号7445个,一级汉字3755个,二级汉字3008个,图形符号682个;如3647为”南”的区位,即在GB2312-80中的36区47位
2)汉字内码(机内码):
国标码:将区号及位号的值各增加32后所得到的两个7位二进制编码即为该汉字或字符的国标码, 那么汉字“南“的国标码就为6879
机内码:在一个计算机内部表示一个汉字的编码;为了避免与ASCII中的控制码冲突,在区码和位码上均加上20H;为了避免与ASCII中的字符冲突,在区码和位码上均加上80H;即在国标码的基础上,将表示汉字的每个字
13
上篇 计算机原理
节的高位上置1,就可得到汉字的机内码;或者在汉字区位码的区码和位码上分别加上A0H,也可得到相应的机内码。
机内码(十六进制)=国标码(十六进制)+8080H
如::”思”的区位码为4328,那么国标码为7560=43CH,则机内码为CBBCH 3)汉字字形码:汉字是一种象形文字,第一个汉字都可以看成是一个特定的图形,这种图形可以用点阵来描述。根据汉字输出的不同要求,点阵大小各不相同。点阵规模小,分辨率差,字形不美观,但占存储空间也小。
若用16×16点阵来表示一个汉字,则每一个汉字图形有16行,每一行上有16个点,每个点对应一个二进制位,则一个16点阵的汉字字形需用16×16÷8=32个字节,这32个字节就是一个汉字的字形码,32个字节中的信息就构成了一个汉字的字模,所有汉字的字模的集合就构成了汉字字库。输出一个汉字,首先要根据汉字的机内码找出其字形信息在汉字库中的位置,然后取出该汉字的字模作为图形在屏幕上显示或在打印机上输出。 思考:若是24×24点阵表示一个汉字,则需要多少字节的存储空间?
综上所述,用汉字外部编码将汉字信息输入计算机,在计算机内部,汉字以机内码形式存储,用汉字字形输出汉字点阵信息,计算机与计算机之间进行汉字信息交换,则使用国标码。 3.逻辑型数据的表示
逻辑值:真用1表示,假用0表示。
逻辑运算:逻辑非、逻辑与、逻辑或、异或运算(0⊕0=0、0⊕1=1、1⊕0=1、1⊕1=0不存在进位或借位问题);
例题分析 填空
1.十进制数的+48用8位二进制数表示为 ,十进制数的-43用8位二进制数表示为 。
(00110000)2=(+48)10 (10110000)2=(-48)10
2.二进制数0.011011的规格化数为 ,二进制数-0.011011的规格化数为 。
分析:0.011011可表示为0.11011×2-1,即规格化数为0.11011×2-1
-110.011011可表示为-0.110011011×23,即规格化数为0.11011×211
2.若x=0.011,y=0.010,则x+y为 分析
[x]补=0.011,[y] 补=0.010
14
0.011 + 0.010
0.101
所以x+y=0.101
3.若x=-0.010,y=-0.011,求x+y [x]补=1.110,[y]补=1.101
1.110 + 1.101 11.011 此位为向高位的进位。
所以[x+y]补=1.011,x+y=-0.101 4.X=0.100,y=0.010,求x-y 分析
[x-y]补=[x]补+[-y] 补=0.100+1.110=10.010 所以x-y=0.010 选择题
1.在微机中,应用最普遍的字符编码是____。 A)ASCII码 B)BCD码 C)汉字编码 D)补码 【答案】A
【解题指导】字符编码是指对英文字母、符号和数字的编码,应用最广泛的是美国国家信息交换标准字符码,简称为ASCII码。BCD码是一种二-十进制编码。汉字编码是对汉字不同表示方法的各种汉字编码的总称。补码是带符号数的机器数的编码。
2.计算机中的数据根据其是否具有度量可分为 。 A)数值型、字符型、逻辑型 B)字符型、逻辑型 C)数值型、字符型 D)数值型、逻辑型 【答案】A
【解题指导】数据按其属性是否具有度量多少的数量含义而分为数值型、字符型、逻辑型三大类。 3. 在微机上用汉语拼音输入“中国”二字,键入“zhongguo”8个字符。那么,“中国”这两个汉字的内码所占用的字节数是( ) A) 2 B) 4 C) 8 D) 16 【答案】A
【解题指导】在计算机内部,汉字以机内码形式存储,用汉字字形输出汉字点阵信息,计算机与计算机之间进行汉字信息交换,则使用国标码,“zhongguo”仅是指汉字输入的编码即输入编码。
4.在24×16点阵的字库中,存储一个汉字的点阵信息用 个字节。 A)24 B)48 C)16 D)32
15
上篇 计算机原理
【答案】B
【解题指导】在计算机输出汉字时是用字库中对应的汉字字模来进行的,即每一个汉字图形根据其汉字点阵来进行计算,24×16点阵的一个汉字字模有16行,每一行上有16个点,每个点对应一个二进制位,存储一行的信息要用2B,则一个16点阵的汉字字形需用24×16÷8=48个字节,48个字节中的信息就构成了一个汉字的字模。
5.一个非零的无符号二进制数的右边添上两个0,形成一个新的无符号数,则新得到的数是原数的 倍。 A)2 B)4 C)6 D)8 【答案】B
【解题指导】一个无符号二进制数右边添上一个0表示该数左移一位即该数扩大2倍,右边添上两个0表示该数左移两位即该数扩大4倍,右边添上三个0表示该数左移三位即该数扩大8倍,依次类推。
判断题
1.计算机中正数无反码、补码一说。 【答案】错
【解题指导】在计算机中无论正数还是负数都有补码,只不过正数的补码与原码、反码一致,而负数的补码为除最高位符号位外,其余位逐位取反后并在最低位加1。
2.计算机中一个浮点数N可用±2P×S表示,那么用规格化数表示,则尾数S必须满足0.5≤|S|<1。 【答案】对
【解题指导】一个浮点形式的尾数S若满足0.5≤|S|<1,且尾数的最高位数为1,无无效的0,则该浮点数称为规格化数;规格化数可以提高运算的精度。
复习巩固
一、填空题
1.计算机中最小的数据单位是 ,一个字节是由 二进制位组成,而字长一般是 的整数倍, 越长则机器的功能就越强。
2.计算机中用每秒能执行定点加法运算的次数来衡量计算机的 ,单位一般用 来表示。
3.一台计算机的 是指从存储器中读了一个数据或将一个数据写入存储器的时间,而 是指连续两次读或写数据所需的最短时间。
4..数据处理的内容主要不是数值运算,而是数据检索、 、 等 5.计算机中数据可分为 型、 型和逻辑型三大类。
16