1、大学计算机基础,ENIAC的问题,1945年,冯诺依曼根据ENIAC存在的问题 (1)没有存储器 (2)用布线接板进行控制存储程序通用电子计算机方案,冯.诺依曼,EDVAC,二进制,3,问题的提出计算机需要一种“语言”十进制数 “09”,问题的解决二进制数 0 1两种状态 低电平 高电平,计算机的信息单位,0和1由来,1与0,一切数字的神奇渊源。这是造物的秘密美妙的典范,因为,一切无非都来自上帝。,18世纪 德国 莱布尼茨,乾卦,111,坤卦,000,冯诺依曼的启示,二进制 电子元件双稳的工作特点 将简化机器的逻辑线路,日常生活中的进制数 十进制数 七进制数 24进制数 12进制数 ,为什么冯
2、.诺依曼选择二进制?,电子元器件双稳态,9瓦 8瓦 7瓦 6瓦 5瓦 4瓦 3瓦 2瓦 1瓦 关,开,关,1,0,十进制,二进制,运算规则简单,十进制数 九九乘法表二进制数 0+0 0+1 和 1+0 1+1逻辑运算,逻辑与,逻辑或,逻辑非,采用二进制的好处,可编码任意信息 算术运算规则简单 适合逻辑运算 实现技术(电子元器件)简单,9,(11101010)2,计算机的信息单位,二进制数,进位制 用数码和带有权值的数位来表示有大小关系的数值型信息的表示方法。 二进制只有两个数码:0和1; 数位i的权值:2i; 运算规则:逢二进1,借1当二; 2称为计数制的基数。,(1 1 1 1 0 1 0
3、1 . 0 1)2,0,1,2,7 6 5 4 3,-1,-2,=,127+126+ 125+124+ 023+122+021+120+02-1+ 12-2,=,245.25,( )10,二进制数-算术运算,例1: (10111)2+ (10011)2=?,10111,+) 10011,0,1,0,1,0,1,0,0,1,0,0,二进制的算术运算 算术运算按位计算并考虑进位和借位; 乘除法运算可转为多次加减法运算来进行; 有很多快速进行加减乘除运算的算法。,二进制的缺点,与十进制相比,二进制的一个数值的数码位数长,识认比较困难。 二进制与十进制进行转换比较麻烦。,我认识他已经1110年了!,我
4、认识他已经14年了!,计算机显示数据时常用到其它进制数,八进制、十六进制,数制及其转换,基数:一种数制由R个基本字符组成,则基数为R,数制概念,A:10,B:11,F:15,14,计数制的不同表示 10101B为二进制数10101,也记为(10101)2 101O为八进制数101,也记为(101)8 234D为十进制数234,也记为(234)10 101AH为十六进制数101A,也记为(101A)16,数制及其转换,思考:十进制和二进制足够为什么还要八进制 和十六进制?,2.1 理解0和1,二进制,十进制,【例1】(10110.01)2,=,124,+023,+122,+121,+020,+0
5、2-1,+12-2,=(22.25)10,思考:八进制、十六进制转换为十进制呢?,(642)8=( ? )10 (9B4.4)16=( ? )10,(642)8按照位权展开,(642)8 = 682 + 481 + 280 =(418)10,(9B4.4)16按照位权展开,(9B4.4)16 = 9162 + 11161 + 4160 + 416-1= (2484.25)10,R进制转换为十进制都是以位权形式展开求和,2.1 理解0和1,17,转换规则:整数部分除2取余法,第2: 十进制,R进制,18,【例2】 (13)10 =( ? )2,1 3,2,余数,6, 1,2,3, 0,2,1,
6、1,2,0, 1,高位,低位,( 1101 )2,(13)10 =,19,十进制向八进制转换: ( 348 )10 ( ? )8348 8=43443 8=535 8=05所以( 348 )10 ( 534 )8,十进制向十六进制转换:( 348 )10 ( ? )1634816=21C 2116=15 116=01 所以( 348 )10 ( 15C )16,十进制向十六进制、八进制的转换呢?,20,进制之间的转换关系,第3: 二、八、十六进制数之间的转换,21,二、八、十六进制数之间的转换,(1)二进制数 八进制数,原则:三位一组法,不足3位补零,小数部分:从左向右分组,整数部分:从右向左
7、分组,数制间的转换,【例3】(10110.11)2 =( ?)8,1 0 1 1 0 . 1 1,0 1 0 1 1 0 .,6,2,1 1 0,6,(10110.11)2 =( 26.6)8,思考:那么数字2与16的又有什么关系?,23,(2)二进制数 十六进制数,原则:四位一组法,不足4位补零,整数部分:从右向左分组,小数部分:从左向右分组,数制间的转换,二、八、十六进制数之间的转换,24,二进制 转换 十六进制,【例3】(11101.011)2 =(?)16,1 1 1 0 1 . 0 1 1,0 0 0 1 1 1 0 1 .,1,D,0 1 1 0,6,.,(11101.011)2
8、=(1D.6)16,25,八进制 转换 十六进制(略讲),【例4】 (172.6)8 = (?)16,( 1 7 2 . 6)8,0 1 0,1 1 1,(0 0 1,. 1 1 0 )2,A .,7,C,(172.6)8 = (7A.C)16,0,信息 数值信息 非数值信息 英文字符、标点符号 汉字 图形 声音 视频 .,信息如何以二进制的形式在计算机中表示呢?,编 码,计算机中的所有信息都可以用二进制编码表示 编码:编码是以若干位数码或符号的不同组合来表示非数值性信息的方法,它是人为地将若干位数码或符号的每一种组合指定一种唯一的含义。,例如:0-男,1-女,再如:000-星期一 001-星
9、期二 010-星期三011-星期四 100-星期五 101-星期六110-星期日,再如:000-一院 001-二院 010-三院011-四院 100-五院 101-六院110-七院 111-其他,2.1 理解0和1,(4) 0和1与编码,2.1 理解0和1,编码的三个主要特征唯一性:每一种组合都有确定的唯一性的含义公共性:所有相关者都认同、遵守、使用这种编码易于记忆/便于识认性:有一定规律。 为计算机使用的编码:规律性易于编程序处理之; 为人所使用的编码:便于记忆和便于识认。,(4) 0和1与编码,bit 1位二进制位/信息表示的最小单位 Byte 字节, 8位二进制位/信息容量的基本单位1K
10、B = 210字节 (1024字节)1MB = 210KB (约1,000,000字节)1GB = 210MB (约1,000,000,000字节) 1TB = 210GB注意:2的幂次方为计算单位Word 字计算机内部数据处理、信息传输的基本单位。,信息的基本度量单位,2.1 理解0和1,(4) 0和1与编码,每一个字包含的二进制位数称为字长,ASCII码-英文字母符号的编码,ASCII码是计算机领域普遍应用的英文字母与符号的0,1型编码方法,是用7位0和的不同组合来表示10个数字、26个英文大写字母、26个英文小写字母及其一些特殊符号的编码方法,是信息交换的标准编码。,B7 B6 B5 B
11、4 B3 B2 B1 B00 x x x x x x x,2.1 理解0和1,(4) 0和1与编码,American Standard Code for Information Interchange,128个字符,可以用多少位进行编码呢?在计算机内ASCII码以8位来表示的,其最高位取0。,ASCII码,每8位为一个字符,最高位为0 41H 5AH: A Z 61H 7AH: a z 0AH: 换行符号LF 0DH: 回车符号CR 30H 39H: 0 9,01000001 A 41 H,01000010 B 42 H,01000110 F 46 H,2.1 理解0和1,ASCII编码的规律
12、,(4) 0和1与编码,完整的ASCII码表 0,1型编码以十进制表示。 ASCII码的出现使得信息交换标准统一,形成统一的基于ASCII码的处理方法,使得计算机得以推广和普及。,2.1 理解0和1,(4) 0和1与编码,ASCII码的出现统一了信息交换标准使得计算机得以推广和普及,十个数字符号的编码-BCD码,BCD码:Binary Coded Decimal(二-十进制编码)是用位和的不同组合,按照与进位制保持一致的关系,来表示10个十进制数字的方法。,10个数字,只需4位0/1数码即可,十进制 0 1 2 3 4 BCD码 0000 0001 0010 0011 0100 十进制 5 6
13、 7 8 9 BCD码 0101 0110 0111 1000 1001,2.1 理解0和1,(4) 0和1与编码,2.1 理解0和1,(4) 0和1与编码(记住常用的ASCII码值!),机器数:一个数在机器中的表现形式。真值:数的本身。在计算机机中表示正负号:一般用0表示正号,用1表示负号,符号位放在数的最高位。目前常用的机器数有原码、反码、补码等编码方法。,计算机中正负数的表示,整数X的原码指:其数符位0表示正,1表示负;其数值部分就是X绝对值的二进制表示。 通常用X原表示X的原码。例如:+1原=0 000 0001 +127原=0 111 1111-1 原=1 000 0001 -127
14、原 =1 111 1111注意:在原码表示中,零有两种表示形式,即+0原=0 000 0000 -0原 =1 000 0000,1 原码,原码的特点,原码表示法简单易懂,与其真值的转换方便。 缺点:1. 不便于加减运算。2. 零的表示不具有唯一性。+0与-0不一致。,整数X的反码指:对于正数与原码相同;对于负数,数符位为1,其数值位X的绝对值取反。 通常用X反表示X的反码。例如:+1反=0 000 0001 +127反=0 111 1111-1 反=1 111 1110 -127反 =1 000 0000由此看出,在反码表示中零也有两种表示形式,即:+0反=0 000 0000 -0反=1 1
15、11 1111反码运算也不方便。,2 反码,3 补码,数值型数据的编码,一个二进制数在计算机中是以这个二进制数的补码形式表示的。,-77,符号位,真值,原码,补码,补码,反码,+1,上次课复习,0和1的出现 计算机采用二进制的原因 二进制与其它进制的转换 信息的编码-0,1码 数值在计算机中的表示:定点数、浮点数 数值在计算机中的编码:原码、反码、补码 非数值信息编码:ASCII码,非数值信息 1、字符(如汉字等) 2、图像、音频、视频,输入码:拼音码、字型码、区位码 ,拼音码: da,五笔字型码: dddd,汉字输入码:汉字依据输入码通过键盘输入汉字。,汉字信息编码,汉字内码:汉字在计算机内
16、部采用汉字内码存储。,用0和1编码汉字,每个汉字在计算机内部由 2个字节表示,汉字信息编码,大,用0和1编码无亮点和有亮点形成字形信息, 便于显示 ,汉字字形码是一种字模点阵码。也有不同的处理汉字点阵信息的编码,如向量编码等,oooooo11oooooooo oooooo11oooooooo oooooo11oooooooo oooooo11oooooooo 111111111111111111 oooooo11oooooooo oooooo11oooooooo oooooo11oooooooo oooooo11oooooooo oooooo111ooooooo ooooo11oo1ooooo
17、o oooo11oooo1ooooo ooo11ooooo11oooo ooo1ooooooo11ooo oo1ooooooooo111o 11ooooooooooo1oo,汉字字形码:汉字依据字形码通过显示器或打印机输出汉字。,汉字信息编码,汉字字形点阵的代码有1616、2424、3232、4848、72 72等编码 点阵数越大,分辨率越高,字形越美观,但占用的存储空间越多,像素:描述图像的最小单位,显示器上的一个可发光的点,每个像素可显示不同颜色 位图图像:由静态的像素点组成,直接按像素点位置画出,例如BMP,JPG,GIF 矢量图像:由若干特定点的位置和相关数学公式计算动态画出,例如wm
18、f,dwg,计算机中的图像,音频编码,计算机中的声音,视频编码: 视频是时间序列的动态图像(如25帧/秒),也是连续的模拟信号,需要经过采样、量化和编码形成数字视频,保存和处理。,计算机中的视频,音频轨,文字轨,视频轨,ASCII示例,信息表示与处理的基本思想,0和1的思维,0和1的出现 计算机采用二进制的原因 二进制与其它进制的转换 信息的编码-0,1码 0和1的基本硬件实现,二极管特性相当于开关:加正向电压导通,加反向电压截止;通过外加电压的调整,控制开与关(实现1和0的变换),0和1的基本硬件实现-二极管,三极管主要功能为开关和放大作用 以较小的b极电流信号可控制较大的c极流过的电流-放
19、大。,典型的三极管电路,0和1的基本硬件实现-三极管,用二极管、三极管可实现基本的集成电路: 与门、或门和非门 与门、或门和非门等门电路便成为计算机基本的元器件。,用二极管实现的与门:当A,B端均为高电平(1)时,则F端为高电平(1),否则F端为低电平(0)。,用二极管实现的或门:当A,B端均为低电平(0)时,则F端为低电平(0),否则F端为高电平(1)。,用三极管实现的非门:当A端为低电平(0)时,则F端为高电平(1);当A端为高电平(1)时,F端为低电平(0)。,0和1的基本硬件实现-集成电路,=1表示异或运算。 &表示与运算。 半加器的电路实现:Ai Bi分别为第i位加数和被加数,Si为
20、第i位运算的和,Ci+1为产生的进位。,利用与门、或门和非门可实现更为复杂的控制电路示例:一位半加器。,0和1的复杂部件的硬件实现,全加器可按此方法由两个半加器实现。 由此就可用简单的逻辑电路构造复杂的逻辑电路。,0和1的复杂部件的硬件实现,微处理器芯片CPU: 复杂组合逻辑集成在一块板上并封装而成的电路,计算机中复杂的集成电路是如何进行协调工作的呢?,计算机系统,图灵机 冯诺依曼计算机 计算机硬件系统 计算机软件系统 计算机语言,图灵及图灵奖,阿兰麦席森图灵,图灵奖,姚期智,图灵机,1936年,Turing Machine 用机器来模拟人们用纸笔进行数学运算的过程。 图灵机的组成: 一条无限
21、长的纸带 TAPE; 一个读写头 HEAD; 一套控制规则 TABLE; 一个状态寄存器。,冯诺依曼计算机,基本思想 存储程序:指令和数据以同等地位事先存于存储器, 可按地址寻访, 连续自动执行。 五大部件构成:运算器、控制器、存储器、输入设备和输出设备 指令和数据用二进制表示,冯诺依曼,现代计算机通常是以存储器为中心的冯.诺依曼计算机。 输入输出数据或程序不通过运算器,运算器只负责进行运算,可实现二者的并行工作,提高速度。,输入设备,存储器,输出设备,运算器,控制器,运算器,控制器,内存储器,外存储器,输入设备,输出设备,控制台,电源,命令,回答,命令,回答,取出的数据,存储的数据,取出的命
22、令,命令/地址,外部设备,主机,中央处理器(CPU),冯诺依曼计算机-硬件组成,内存容量小,外存容量大 内存存取速度快,外存存取速度慢 内存只能临时保存,外存可永久保存,内存和外存,输入设备,输出设备,输入/出设备,扫描仪,光驱,光盘,显示器,打印机,U盘/硬盘,所有外部设备都受主机控制,通过总线把各种设备连接在一起!,仅有硬件的计算机可否运行?,没有软件的硬件是不能做任何事情的! 软件=程序+文档 程序=指令序列 指令是用户对计算机发出的工作命令,指令格式,软件,硬件,计算机系统,看得见、摸得着的物理载体,程序及其配套的数据、文档等,应用软件,系统软件,控制台,电源,外存 储器,CPU,RO
23、M,RAM,BIOS程序,操作系统,数据,应用程序,操作系统,数据,计算机系统的工作过程,计算机语言,算法、语言与计算机程序,计算机语言,人和计算机都能理解的语言,计算机语言的发展(1),计算机能够理解与执行什么呢?,机器语言:用二进制和编码方式提供的指令系统所编写程序的语言被称为机器语言,所有程序都需转换成机器语言程序计算机才能执行,指令系统:CPU用二进制和编码提供的可以解释并执 行的命令的集合。用指令系统中的指令编写的程序,CPU能够执行,100 00110 000 00111 100 01011 000 01010 100 10111 000 00111 111 10100,完成7+1
24、0并存储的机器代码,用机器语言编写程序存在什么问题呢?,汇编语言:是用助记符号编写程序的语言。 汇编语言源程序:是用汇编语言编出的程序。 汇编程序: 是将汇编语言源程序翻译成机器语言程序的程序。,将二进制和编码方式的指令对应成便于记忆和书写的符号,用符号编写程序,编完程序后再翻译成机器语言程序。,计算机语言的发展(2),MOV A, 7ADD A, 10MOV (7), AHLT,完成7+10并存储的汇编语言源程序,MOV A, 7 ADD A, 10 MOV (7), A HLT,汇编 程序,10000110 00000111 10001011 00001010 10010111 00000
25、111 11110100,汇编语言程序处理过程,自动转换,用汇编语言编写程序存在什么问题呢?,例如:完成7+10并存储的一段程序,Result = 7+10; Return,人们又提供了这样一套规范/书写标准,以语句为单位编写程序, 并开发了一个翻译程序,实现了将语句程序自动翻译成机器语言程序的功能。,高级语言:是用类似自然语言的语句编写程序的语言。 高级语言源程序:是用高级语言编出的程序。,计算机语言发展(3),10000110 00000111 10001011 00001010 10010111 00000111 11110100,Result = 7+10 Return,高级语言程序处理过程,用所提供的积木块(一组程序)构造更大一些的积木块,再用这些积木块构造更大的程序, 。 面向对象的程序设计语言与可视化构造语言,能不能像堆积木一样构造程序呢?,例如:可视化构造语言示例,可视化构造语言的积木块,每一个积木块都对应一组已编写好并可执行的程序。,计算机语言发展的基本思维,以助记符编写程序 以语句编写程序 以积木块/对象编写程序 以模型编写程序。 模型驱动技术,包含代码生成技术、现实需求的理解模型、模型转换技术是未来计算机语言的发展趋势。,计算机语言发展趋势,总 结,Thank You !,