计算机科学导论 课件 第2章 计算基础_第1页
计算机科学导论 课件 第2章 计算基础_第2页
计算机科学导论 课件 第2章 计算基础_第3页
计算机科学导论 课件 第2章 计算基础_第4页
计算机科学导论 课件 第2章 计算基础_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章

计算基础目录2.2数值数据的表示2.3文本数据的表示2.4条形码与二维码2.1进位计数制2.5音频、图像、视频信息的表示2.1进位计数制思考:日常生活中用到的进位计数制实例。例如:

满60秒是1分钟,满60分钟是1小时,采用的是六十进制;

满7天是1星期,采用的是七进制;

满12个月是1年,采用的是十二进制。

满10毫米是1厘米,满10厘米是1分米,满10分米是1米,采用十进制。

满1000毫克是1克,满1000克是1千克,是1000进制。2.1进位计数制十进制十进制是生活中常用的进位计数制,使用0、1、2、3、4、5、6、7、8、9十个数码符号作为数码符号集,其基数为10,相邻两位之间采用“逢十进一”的计数方法。

任意一个十进制数都可以表示为一个按位权展开的多项式之和。例十进制数5208.79按位权展开:5208.79=5

103+2

102+0

101+8

100+7

10-1+9

10-2其中:103、102、101、100、10-1、10-2分别是千位、百位、十位、个位、十分位和百分位的位权。2.1进位计数制二进制

二进制的数码符号集只有0和1两个数码符号,其基数是2,相邻两位之间采用“逢二进一”的计数方式。在数字后面加后缀B表示二进制数。

计算机采用二进制数的原因:1、电气实现方便2、满足逻辑运算的需要。3、算数运算简单2.1进位计数制二进制算数运算

计算机中仅配置一个加法器就能完成二进制的加减乘除运算,二进制加法规则如下:0+0=0、0+1=1、1+0=1、1+1=0(向高位进位1)【例2.1】计算两个二进制数10001101与01101001的和。2.1进位计数制二进制逻辑运算

逻辑运算中,参加逻辑运算的变量和运算结果只有“真”和“假”两种结果,在二进制中,规定用数字“1”表示“真”,用数字“0”表示“假”。

二进制的逻辑运算也称为位运算,位运算的实质是将参与运算的两个数据,按对应的二进制数逐位进行逻辑运算。二进制的逻辑运算主要有四种运算符: 1、“与”运算、

2、“或”运算、

3、“非”运算

4、“异或”运算。2.1进位计数制“与”运算(AND)

运算符号是“·”或省略不写,运算规则是当且仅当A、B两个变量取值同时为1时,它们的“与”运算的结果才是1,其余情况结果均为0。

ABA·B0000101001112.1进位计数制“或”运算(OR)

用符号“+”或“∨”来表示,其运算规则是当且仅当A、B两个变量取值同时为0时,“或”运算的结果才是0;只要A、B两个变量有一个取值为1时,“或”运算的结果就为1。ABA+B0000111011112.1进位计数制“非”运算(NOT)

用符号¬来表示。“非”运算仅需要一个参与运算的逻辑变量,运算结果的等于逻辑变量相反的值。A¬A01102.1进位计数制“异或”运算(XOR)

用符号“⊕”来表示。“异或”运算的运算规则是当且仅当A、B两个变量取值相异时,它们的“异或”运算的结果才是1;否则它们“异或”运算的结果为0。ABA⊕B0000111011102.1进位计数制十六进制

十六进制,使用0、1、2、3、4、5、6、7、8、9和A、B、C、D、E、F十六个符号作为数码符号集,其中A、B、C、D、E、F分别对应的十进制数值为10、11、12、13、14和15。

十六进制的基数是16,相邻两位之间采用“逢十六进一”的进位制计数制。在数字后面加后缀H表示十六进制数。例如:1B58H、5AD4H2.1进位计数制进制转化进位计数制是利用固定的数学符号和统一的规则来计数的方法。每一种进位计数制由数码、基数和位权三部分组成。

数码:表示某种数制使用的所有符号。例如,十进制的数码是0、1、2、3、4、5、6、7、8、9十个符号;二进制的数码是0、1两个符号。基数:某种进制中可以使用的数码的个数。例如,十进制的基数是10,二进制的基数是2。

位权:以基数为底,该数码的数位为幂的一个指数。数码的数位以小数点为分界,其左边的数位为0,向左每移动一位数位加“1”,向右每移动一位数位减“1”。2.1进位计数制位权表示法

任何一种数制表示的数都可以写成所有数位上的数码乘以其位权的累加和,其数学表达式为:

式中:N为基数;Ak为第K位上的数码;Nk为第K位上的位权。

十进制数的123.96,基数为10,按照位权表示法可以表示如下: 123.96=1

102+2

101+3

100+9

10-1+6

10-2

2.1进位计数制任意进制转换成十进制

十进制是日常生活中表达数值的常用方法,其他进制转换成十进制,通过按位权累加求和的方法,计算得到的结果就是对应的十进制数。【例2.6】将二进制数1011.11B转换成十进制数。1011.11B=1

23+0

22+1

21+1

20+1

2-1+1

2-2=8+0+2+1+0.5+0.25=11.75【例2.7】将十六进制数10D.8H转换成十进制数。10D.8H=1

162+0

161+D

160+8

16-1=1

162+0

161

13

160+8

16-1

=256+0+13+0.5=269.5

2.1进位计数制十进制转换成二进制

整数部分利用连续除以2得到余数的方法转换为二进制数,需要连续除以2直到商为零,然后逆向取各个余数得到的一串数位即整数部分的转换结果。例如:(56)10=(111000)2

余数 56÷2=280 28÷2=140 14÷2=70 7÷2=31 3÷2=11 1÷2=01(商为0结束)连续除以2逆向取余数(后得的余数为结果的高位)得:56=111000B2.1进位计数制十进制转换成二进制

小数部分正向取积的整数(后得的整数位为结果的低位)位组成一串数位即为小数部分的二进制转换结果。【例2.9】将0.8转换为对应的二进制数(保留5位小数),计算过程如下:

小数部分

整数部分 0.8×2=1.60.61 0.6×2=1.20.21 0.2×2=0.40.40 0.4×2=0.80.80 0.8×2=1.60.61 0.4×2=1.20.20(进入循环过程)

若要求5位小数,则运算到第6位,以便舍入。结果得:0.8=0.11001B2.1进位计数制十六进制转换成二进制

由于24等于16,或者4位二进制数能表示16种状态,因此4位二进制数与1位十六进制数之间有着一一对应的关系,可以将4位二进制数转换为1位十六进制数,反之十六进制数转换成二进制数时,只需将每1位十六进制数用4位二进制数码表示即可。表2.6十六进制与二进制的转换

原码

一般书写所表示的数据称为真值,在计算机中通常把符号位和数字位一起编码来表示相应的数,这些编码称为机器码。常用的机器码有原码、反码、补码和移码。原码:在数中增加一个符号位,并用0表示数的正号,用1表示数的负号。数值位部分不变,用0和1表示其符号得到的数的编码。

二进制数+11100在计算机中可存为011100

二进制数-11100在计算机中可存为111100问:8位二进制原码表示整数的范围是什么?2.2数值数据的表示

原码

原码表示简单易懂,但是在进行加减法运算时比较复杂,当两个原码数相加时,如果符号相同则数值相加,如果符号相反则数值相减,而在做减法时还要比较两数绝对值的大小,大数减去小数,最后还要为结果选择恰当的符号。

为了简化运算操作,也为了把加法和减法统一起来以简化运算器的设计,人们找到了补码表示方法。

2.2数值数据的表示补码

为了说明补码的原理,在实际生活中,如在对时钟校对时间时,将时针顺时针方向拨8小时与反时针方向拨4小时效果是相同的,即加上8和减去4是一样的。

这是因为在时钟表盘上只有12个计数状态,即其模为12,故有8=-4(MOD12)。

在计算机中,运算器的位数(字长)总是有限的,即模存在,可以利用补数实现加减法之间的相互转换。

为了求数据的补码,需要先求出数据的反码。2.2数值数据的表示

2.2数值数据的表示

2.2数值数据的表示

2.2数值数据的表示2.2数值数据的表示

2.2数值数据的表示定点数表示约定计算机中所有数据的小数点的位置是固定,由于约定在固定的位置,小数点不需要用“.”符号表示出来,也不需要进行存储。根据小数点约定位置的不同,定点数有定点整数和定点小数两种。假想的小数点位置xnxn-1……x2x1x0假想的小数点位置xnxn-1……x2x1x0定点纯小数定点纯整数2.2数值数据的表示定点数运算

(1)补码加法公式:[X+Y]补=[X]补+[Y]补

补码加法公式表明,两数之和的补码表示等于两个补码表示的数直接相加。

(2)补码减法公式:[X-Y]补=[X+(-Y)]补=[X]补+[-Y]补

补码减法公式表明,两数之差的补码表示等于被减数补码加减数相反数的补码。2.2数值数据的表示定点数运算【例2.19】用8位补码计算16+20。16=10000B;20=10100B[16]补=[16]原=00010000[20]补=[20]原=00010100

由补码的加法公式得[X+Y]补计算的竖式如下: 00010000

+0001010000100100

结果为正数,其补码原码同形。转换为十进制数即为36,结果正确。2.2数值数据的表示定点数运算【例2.21】用8位补码计算16-20。16-20可以写成16+(-20)的形式,由减法转换为加法。16=10000B;20=-10100B[16]补=[16]原=00010000[-20]原=10010100[-20]反=11101011[-20]补=[-20]反+1=11101100

由补码的减法公式得[X-Y]补计算的竖式如下:00010000

+1110110011111100

差为负数,通过补码转换为原码,得到原码为10000100,真值为-4,运算正确。2.2数值数据的表示浮点数表示-IEEE754标准313023220SMES位(1位):是浮点数的符号位,0表示正数,1表示负数。M位(23位):尾数,定点纯小数,小数点在尾数域的最前面,为了尾数的表示精度提高一位,IEEE规格化浮点数将尾数向左移动了一位,尾数是1.M,该位不予存储,所以M位存储的是有效数据的小数部分,因此尾数域M所表示的值应该是1.M。E位(8位):阶码,定点纯整数,用8位移码表示,阶码E=e+128。由于尾数向左移动了一位,所以如果浮点数的指数真值是e,则阶码E=e+127。

2.2数值数据的表示浮点数表示-IEEE754标准指数e=阶码-127=10000010-01111111=(3)10尾数1.M=1.01101100000000000000000=1.011011于是有x=(-1)s×(1.M)×2e

=+(1.011011)×23=+1011.011=(11.375)10

将十六进制数展开后,可得二进制数格式为:(41360000)16=01000001001101100000000000000000[例]若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。一个IEEE754标准的32位浮点数x的真值可表示为:x=(-1)s*M*2e=(-1)s*(1.M)*2E-127

2.2数值数据的表示浮点数表示-IEEE754标准首先分别将整数和分数部分转换成二进制数:

(20.59375)10=10100.10011然后移动小数点,使其在第1,2位之间

10100.10011=1.010010011×24

e=4于是得到:

S=0,E=4+127=131=10000011,M=010010011

最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16

[例]将(20.59375)10转换成754标准的32位浮点数的二进制存储格式。2.3文本数据的表示ASCII字符集

字符编码是指对输入到计算机中的字符进行二进制编码。国际上广泛采用的字符编码是ASCII码。包括在英语语系中用到的52个字母(大、小写字母各26个)、10个数字符号、约32个数学运算符号和其他标点符号等,再加上用于打字机控制的无图形符号等,共计128个字符。 128个字符分配情况为:0~32及127(共34个)为特殊控制字符,主要用于实现换行、回车等功能;33~126(共94个)为可显示字符,其中48~57为0~9十个数字符号,65~90为26个英文大写字母,97~122为26个英文小写字母,其余的为一些标点符号、运算符号等。2.3文本数据的表示ASCII字符集

b6b5b4b3b2b1b00000010100111001011101110000NULDLESP0@P`p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDV4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB‘7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,<

L\l|1101CRGS-=M]m}1110SORS.>

N^n~1111SIUS/?O_oDEL2.3文本数据的表示

Unicode字符集ASCII字符集可以表示128个不同的字符,ASCII字符集的扩展版本可以表示256个字符,虽然足够用来表示英语,但无法满足国际需要。 Unicode(又称统一码、万国码、单一码)是计算机科学领域里的一个业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限性而产生的,它为每种语言中的每个字符设定了统一且唯一的二进制代码,以满足跨语言、跨平台进行文本转换、处理的要求。

2.3文本数据的表示

汉字编码

汉字属于图形符号,结构复杂,多音字和多义字比例比较大,并且汉字数量较多。汉字编码处理和西方文字有很大的区别,由于汉字数量多,编码比拼音文字困难,在键盘上难以表现,输入和处理都比较难,因此汉字的输入、处理、存储和输出都需要使用不同的编码。汉字输入码:也称机外码,主要解决如何使用西方文字标注键盘将汉字输入到计算机中的问题。主要有数字码,拼音码,字形码等。字形码(汉字库):字形码是指文字信息的输出编码,即通常所说的汉字字形库,是使用计算机时显示或打印汉字的图像源。目前表示汉字字形常用点阵字形和矢量字库。2.3文本数据的表示

汉字编码处理码:也称机内码、汉字ASCII码、内码,是指计算机内部存储、处理加工和传输汉字时所用的由0和1符号组成的编码。交换码:不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用的代码标准。十进制十六进制二进制区位码45,822DH,52H00101101B,01010010B国标码77,1144DH,72H01001101B,01110010B机内码205,242CDH,F2H11001101B,11110010B汉字“万”的编码2.3文本数据的表示

汉字编码2.3条形码与二维码条形码

条形码是由宽度不同的多个条(黑色)和空(白色),按照一定的编码规则编制而成,用以表达一组数字或字母符号信息的图形标识符。在日常生活中最常见是的EAN-13,也称为国际商品条码。2.3条形码与二维码条形码EAN-13条形码用条表示二进制数的“1”,用空表示二进制数的“0”,每一个条或者空称为一个模块,每个模块的宽度为0.33毫米,相邻数据如果相同,则从外观上合并为一个条或空。EAN13条形码共包括0~9共10个数字字符,规定每个数字由7位编码构成,因此每个数字包含7个模块。

2.3条形码与二维码条形码

典型的一个EAN-13条形码的结构包括左侧空白区、起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符、右侧空白区。2.3条形码与二维码条形码(1)前置码:第一个数字不用条形码表示,称为前置码。(2)左侧、右侧空白区:没有任何印刷符号,与空的反射区相同,位于条码符号的两侧,用以提示阅读,共有18个模块组成,一般左侧空白11个模块,右侧空白7个模块。(3)起始符:信息开始的特殊符号,由3个模块组成,二进制表示为“101”。(4)左侧数据符:表示6位数字信息的一组条码字符,由42个模块组成。(5)中间分隔符:分割左侧数据和右侧数据的特殊符号,由5个模块组成,二进制表示都为“01010”。(6)右侧数据符:表示6位数字信息的一组条码字符,由42个模块组成。(7)校验符:按照校验算法计算得到的1位数字校验码的条码字符,用以校验条码符号的正确与否,由7个模块组成。(8)终止符:信息结束的特殊符号,由3个模块组成,二进制表示为“101”。2.3条形码与二维码条形码数字字符左侧数据右侧数据奇性字符偶性字符偶性字符0000110101001111110010100110010110011110011020010011001101111011003011110101000011000010401000110011101101110050110001011100110011106010111100001011010000701110110010001100010080110111000100110010009000101100101111110100EAN-13数字字符编码表2.3条形码与二维码条形码前置码左1左2左3左4左5左60奇性奇性奇性奇性奇性奇性1奇性奇性偶性奇性偶性偶性2奇性奇性偶性偶性奇性偶性3奇性奇性偶性偶性偶性奇性4奇性偶性奇性奇性偶性偶性5奇性偶性偶性奇性奇性偶性6奇性偶性偶性偶性奇性奇性7奇性偶性奇性偶性奇性偶性8奇性偶性奇性偶性偶性奇性9奇性偶性偶性奇性偶性奇性EAN-13左侧数字字符编码选择表2.3条形码与二维码条形码

在编码时,根据前置码可以确定左侧6个数字字符的7位编码;扫码枪在扫码时,如果扫码得到的6组7位二进制数的编码中,每一组7位二进制数包含“1”的个数都为奇数个,也就是6组编码均为奇性,则前置码为0,其余前置码都包含3组编码为偶性,并且所在的分组位置不同,这样就可以根据偶性编码的位置得到前置码,因此前置码不用条形码表示。

EAN-13条形码的起始字符和终止字符的编码结构都是“101”,所以不能通过起始字符和终止字符来判别它的扫描方向,但是根据EAN-13条形码的编码结构可知,它的右侧字符为全部是偶性,而左侧字符不是全部偶性,因此如果扫描到的前6个字符为全偶,即为反向扫描,否则为正向扫描。

2.3条形码与二维码条形码【例2.25】中国某企业的厂商识别码为1234,其生产的某个产品的商品代码是56789,计算该商品对应的EAN-13条形码的编码。

如果国家编码为690,则该商品EAN-13条形码不包含校验符的12数字是690123456789,下面计算校验符,过程如下:

奇数位相加的和:6+0+2+4+6+8=26

偶数位和乘以3:(9+1+3+5+7+9)×3=102

取结果的个位数:相加得到128,个位数为8

校验符:10-8=2

则该商品EAN-13条形码的13位数字是:6901234567892

前置码:6左侧数据:901234右侧数据:5678922.3条形码与二维码二维码

二维码有矩阵式和行排式两种类型,现在较为流行的且具有代表性的是矩阵式二维码中的QRCode二维码,也称为QR码,二维码是在一个矩形空间中,通过黑、白像素矩阵的不同分布记录数据的图形。一般来说,二维码中的黑色矩阵代表二进制语言中的“1”,白色矩阵代表二进制语言中的“0”。2.3条形码与二维码二维码

二维码有1~40不同的版本,每个版本都有固有的码元数,码元是指构成二维码的黑白方形矩阵。版本1是21码元×21码元的码元结构,版本每增加1,在纵向和横向各自递增4码,版本40是177码元×177码元。二维码的各个版本根据数据量、字符类型和纠错级别,有对应的最多输入字符数,如果增加二维码中包含的数据量,就需要更多的码元来构成二维码,二维码的版本就越高。每一个二维码都包含有功能图案、格式信息区域和数据区域。2.3条形码与二维码二维码

功能图案包括:

(1)探测图形

(2)隔离图形

(3)时序图形

(4)对齐图形2.3条形码与二维码二维码

格式信息区域是隔离图案旁边的一个单模块条,水平方向有15个码元,垂直方向有15个码元,时序图形隔断了它们。15个码元中前2位存储了二维码的纠错等级,接下来的3位码元存储了二维码的掩码类型,后10位码元存放了格式信息本身的校验码。2.3条形码与二维码二维码

二维码变脏或破损,也可以自动恢复数据,称为二维码的纠错能力。二维码的纠错能力具备4个级别。纠错等级纠错率码元状态级别L约7%1-黑色2-黑色级别M约15%1-黑色2-白色级别Q约25%1-白色2-黑色级别H约30%1-白色2-白色二维码的纠错等级2.3条形码与二维码二维码

如果二进制的数据信息出现了连续的“1”和“0”,在二维码编码的过程中就会出现连续的黑色矩形(码元)或者白色矩形(码元),这不利于阅

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论