计算机科学导论的几个问题

1. 如何确定计算机内一个二进数究竟是代表一个数,还是代表一个汉字呢?谁负责确定?
1. 字长8位。写出+16和-16的原码形式,能够表示的最大正数和最小负数。
2. 字长8位。写出+16和-16的补码形式,能够表示的最大正数和最小负数。
3. 设规格化的浮点数字长8位,左4位为阶码,用模24的补码表示;右4位是尾数,用模2的补码表示。指出下面机器数代表的实数:01000101和11011101。
4. 如果黑白图像要求有16级灰度,那么每个象素要用多少位表示?
5. 简述声音数据在计算机内表示为二进数的方法。
6. 列举高级语言表示数据的5种基本手段。
7. 解释形式参数和实在参数的区别和联系。
8. 写出下列逻辑表达式的结果:
当I=10,j=5时 (I>1)and(j<5)or(I=10)
第一个乱来的 第二个连说他比乱来差一点已经算很客气了`!

网上找的,不是个人思路。。

计算机内信息的表示形式是二进制数字编码。各种类型的信息(数值、文字、声音、图像)必须转换成数字量即进进制数字编码的形式,才能在计算机进行处理。由于计算机内采用二进制计数系统,二进制是计算机运算的基础,因此,了解二进制的特点,与其他数制之间的转换关系以及信息编码等概念,对于学习和掌握计算机很有必要。

信息编码的基本概念

前面已讲述,信息必须经过数字化编码才能被处理。所谓编码,是指采用约定的基本符号,按照一定的组合规则,表示出复杂多样的信息,从而建立起信息与编码之间的对应关系。信息送入计算机后以编码的形式进行处理,从计算机输出后又还原成原来的形式。一切信息编码都包括基本符号和组合规则这两大要素。采用数字(二进制数、八进制数、十进制数等)作为基本符号按照一定的组合规则得到的编码,称为数字化信息编码。计算机内使用的是二进制编码(也称为基2码)。计算机内采用二进制的主要原因是:

(一)容易表示

二进制数只有"0"和"1"两个基本符号,易于用两种对立的物理状态表示。例如,可用电灯开关的"闭合"状态表示"1" ,用"断开"状态表示"0";用晶体管的导通表示"1",截止表示"0";用电脉冲的有或无两种状态分别表示"1"或"0";一切有两种对立稳定状态的器件都可以表示二进制的"0"和"1"。而十进制数有10个基本符号(0,1,2,…,9),要用10种状态才能表示,在计算机内实现起来很困难。

(二)运算简单

二进制数的算术特别简单,加法和乘法仅各有3条运算规则(0+0=0,0+1=1,1+1=10和0×0=0,0×1=0,1×1=1),运算时不易出错。

此外,二进制数的"1"和"0"正好可与逻辑值"真"和"假"相对应,这样就为计算机进行逻辑运算提供了方便。

算术运算和逻辑运算是计算机的基本运算,采用二进制可以简单方便地进行这两类运算。

进位计数制

在人类历史发展的过程中,根据生产和生活的需要,人们创立了各种进位计数制。进位计数制是指用一组特定的数字符号按照一定的进位规则来表示数目的计数方法。使用任何一种计数制都必须了解两个重要概念:基数和位权。

一种进位计数制中所使用的不同基本符号和个数称为该计数制的基数。在进位计数制中,把一个数中各位数字为1时代表的数值大小称为位权。

在各位进位计数制中,十进制是人们最熟悉的,二进制在计算机内使用,八进制和十六进制则可看成二进制的压缩形式。

二进制数的机内表示运算

计算机中处理的数据分为数值型数据和非数值型数据两大类。

数值型数据指能进行算术运算(加、减、乘、除四则运算)的数据,即我们通常所说的"数"。非数值数据指文字、图像等不能进行算术运算的数据。

数在计算机内的表示,要涉及到数的长度和符号如何确定、小数点如何表示等问题。由于二进制数的每一位数(0或1)是用电子器件的两种稳定状态来表示的,因此,二进制位(bit)是最小信息单位,一个数的长度按二进制位数(即bit数)来计算。计算机内最常用的信息单位是字节(byte,1 byte=8bit),字节也是计算机存储容量的单位,一个数的长度可用字节数来表示。在一台计算机中,一次所能传送及处理的二进制数的长度(最大位数)是固定的(这由所用双稳态器件的数目来确定),这个长度称为计算机的字长,随不同的计算机而异。另外,一个数在使用时是有符号的,而计算机对正负事情不能识别,因此,数的符号在机内要做变换,用专门的符号位表示,符号在放在最高数值位的前面,用"0"表示正,用"1"表示负,这种把数本身(指数值部分)及符号一起数字化了的数称为机器数,机器数是二进制数在计算机内的表示形式。机器数又分为定点数和浮点数。

二进制数的运算包括算术运算和逻辑运算两大类。

算术运算即加、减、乘、除四则运算。在计算机中,加法运算是最基本的运算,因此,在二进制数的算术运算中,重点介绍加法运算。

加法进位规则:逢二进一。

加法运算法则:

0+0=0 0+1=1

1+0=1 1+1=10(向高位进位)

字符的编码

目前,计算机越来越多地应用于非数值计算领域,在计算机处理的各种形式的信息中,文字信息占有很大的比重。对文字的处理即是对字符的处理。为了能够对字符进行识别和处理,各种字符在计算机内一律用二进制编码表示,每一个西文字符和一个确定的编码相对应,而一个汉字字符则和一组确定的编码相对应。

ASCII码

ASCII码是美国国家标准信息交换码(American Standard Code for Information Interchange)的简称,是目前国际上使用最广泛的字符编码。

EBCDIC码,是扩充的二十进制交换码(Extended Binary-Coded Decimal Interchange Code)的简称,也是一种在计算机上采用的字符编码体系。EBCDIC码采用8位二进制编码,共有256个编码状态。目前世界上只有美国IBM公司的系列机和日本富士通公司的M系列机采用EBCDIC码。

汉字编码

随着我国国际地位的不断提高,以及计算机应用在我国和其他华语地区的日益普及,汉语在国际事务和全球信息交流中的作用将越来越大,对汉字的计算机处理已成为当今文字信息处理中的重要内容。

汉字与西方文字不同,西方文字是拼音文字,仅用为数不多的字母和其他符号即可拼组成大量的单词、句子,这与计算机可以接受的信息形态和特点基本一致,所以处理起来比较容易。例如,对英文字符的处理,7位ASCII码字符集中的字符即可满足使用需求,且英文字符在计算机上的输入及输出也非常简单,因此,英文字符的输入、存储、内部处理和输出都可以只用同一个编码(如ASCII码)。而汉字是一种象形文字,字数极多(现代汉字中仅常用字就有六、七千个,总字数高达5万个以上),且字形复杂,每一个汉字都有"音、形、义"三要素,同音字、异体字也很多,这些都给汉字的的计算机处理带来了很大的困难。要在计算机中处理汉字,必须解决以下几个问题:首先是汉字的输入,即如何把结构复杂的方块汉字输入到计算机中去,这是汉字处理的关键;其次,汉字在计算机内如何表示和存储?如何与西文兼容?最后,如何将汉字的处理结果从计算机内输出?

为此,必须将汉字代码化,即对汉字进行编码。对应于上述汉字处理过程中的输入、内部处理及输出这三个主要环节,每一个汉字的编码都包括输入码、交换码、内部码和字形码。在计算机的汉字信息处理系统中,处理汉字时要进行如下的代码转换:输入码→交换码→内部码→字形码。以上简述了对汉字进行计算机处理的基本思想和过程,下面具体介绍汉字的四种编码。

(一)输入码

为了利用计算机上现有的标准西文键盘来输入汉字,必须为汉字设计输入编码。输入码也称为外码。目前,已申请专利的汉字输入编码方案有六、七百种之多,而且还不断有新的输入方法问世,以致于有"万码奔腾"之喻。按照不同的设计思想,可把这些数量众多的输入码归纳为四大类:数字编码、拼音码、字形码和音形码。其中,目前应用最广泛的是拼音码和字形码。

数字编码:数字编码是用等长的数字串为汉字逐一编号,以这个编号作为汉字的输入码。例如,区位码、电报码等都属于数字编码。此种编码的编码规则简单,易于和汉字的内部码转换,但难于记忆,仅适于某些特定部门。

拼音码:拼音码是以汉字的读音为基础的输入办法。拼音码使用方法简单,一学就会,易于推广,缺点是重码率较高(因汉字同意字多),在输入时常要进行屏幕选字,对输入速度有影响。拼音码是按照汉语拼音编码输入,因此在输入汉字时,要求读音标准,不能使用方言。拼音码特别适合于对输入速度要求不是太高的非专业录入人员。

字形码:字形码是以汉字的字形结构为基础的输入编码。在微型机上广为使用的五笔字型码(王码)是字形码的典型代表。五笔字型码的主要特点为输入速度快,目前最新记录为每分钟输入293个汉字(该记录为兰州军区一女兵所保持),如此高的输入速度已达到人眼扫描的极限。但这种输入方法因要记忆字根、练习拆字,前期学习花费的时间较多。此外,有极少数的汉字拆分困难,给出的编码与汉字的书写习惯不一致。

音形码:音形码是兼顾汉字的读音和字形的输入编码。目前使用较多的音形码是自然码。

(二)交换码

交换码用于汉字外码和内部码的交换。我国于1981年颁行的《信息交换用汉字编码字符集·基本集》(代号为GB2312-80)是交换码的国家标准,所以交换码也称为国标码。国标码是双字节代码,即有两个字节为一个汉字编码。每个字节的最高位为"0"。国际GB2312-80收入常用汉字6763个(其中一级汉字3755个,二级汉字3008个),其他字母及图形符号682个,总计7445个字符。将这7445个字符按94行×94列排列在一起,组成GB2312-80字符集编码表,表中的每一个汉字都对应于唯一的行号(称为区号)和列号(称为位号),根据区位号确定汉字的国标码值,分别用两个字节存放。

由于篇幅所限,本书未列出GB2312-80字符编码表,读者可参看有关书籍。

(三)内部码

内部码是汉字在计算机内的基本表示形式,是计算机对汉字进行识别、存储、处理和传输所用的编码。内部码也是双字节编码,将国标码两个字节的最位都置为"1",即转换成汉字的内部码。计算机信息处理系统就是根据字符编码的最高位是"1"还是"0"来区分汉字字符和ASCII码字符。

(四)字形码

字形码是表示汉字字形信息(汉字的结构、形状、笔划等)的编码,用来实现计算机对汉字的输出(显示、打印)。由于汉字是方块字,因此字形码最常用的表示方式是点阵形式,有16×16点阵、24×24点阵、48×48点阵等等。例如,16×16点阵的含义为:有256(16×16=256)个点来表示一个汉字的字形信息。每个点有"亮"或"灭"两种状态,用一个二进制们的"1"或"0"来对应表示。因此,存储一个16×16点阵的汉字需要256个二进制位,共32个字节。

以上的点阵可根据汉字输出的不同需要进行选择,点阵的点数越多,输出的汉字就越精确、美观。

汉字的字形点阵要占用大量的存储空间,通常将其以字库的形式存放在机器的外存中。需要时才检索字库,输出相应汉字的字形。为避免大量占用宝贵的内存空间,同时又能提高汉字的处理速度,可将字库中的二级汉字放在外存,而将一级汉字留驻内存。

网上找的,不是个人思路。。
温馨提示:答案为网友推荐,仅供参考
相似回答