导图社区 计算机科学导论学习笔记
这是一篇关于计算机科学导论学习笔记的思维导图,主要内容包括:第3章 数据存储,第2章 数字系统,第1章基础绪论。一张图带你完全了解相关内容,通过思维导图帮你提高效率,赶紧来试一试吧~
编辑于2024-07-31 11:39:15计算机科学导论学习笔记
第1章 基础绪论
1.1 图灵模型
什么是图灵机?
1937年 由 Alan Turing (阿兰•图灵)首次提出了一个通用计算设备的设想, 即所有的计算都可能在一种特殊的机器上执行,这就是现在所说的图灵机。 实际上图灵机对这样一种机器进行了数学上的描述,而不是建造一台真实的机器。
(1) 数据处理器
输入数据->计算机->输出数据
(2) 可编程数据处理器
输入数据-> 计算机(程序)-> 输出数据
1.2 冯·诺依曼模型
(1) 四个子系统
冯•诺依曼模型建造的计算机分为4个子系统:存储器、算术逻辑单元 ALU、控制单元 CU 和输入/输出单元
存储器 : 用来存储数据和程序的区域 算术逻辑单元( ALU ) : 用来进行算数运算和逻辑运算的地方 控制单元(CU):对存储器、 算术逻辑单元、 输入 / 输出等子系统进行统筹控制操作 。 输入 / 输出单元:输入子系统负责从计算机外部接收输入数据,输出子系统负责从计算机处理结果输出到计算机外部。
(2) 存储程序概念
在冯•诺依曼模型中要求程序必须存储在存储器(内存)中。
(3) 指令顺序执行
在冯•诺依曼模型中规定了一段程序是由一组数量有限的指令组成。
1.3 计算机简单组成
(1) 计算机硬件
当今的计算机硬件基于冯•诺依曼模型,且包含四部分。
例如,我们的个人台式计算机,通常由CPU、内存、主板、硬盘、显卡、机箱电源、机箱、输入设备(鼠标、键盘)、输出设备(显示器)等硬件组装而成。
(2) 计算机数据
存储数据
最好的数据存储方式应该是电子信号,以电子信号的出现和消失 ( 位模式)来存储数据,即以(1、0)两种状态之一来存储数据。
组织数据
数据只能以一种形式(位模式)存储在计算机内部,但在计算机外部却可以表现为不同的形式,所以在数据存储到计算机之前,需要合理有序的组织成不同的格式。
(3) 计算机软件
程序算法
程序按一系列的指令执行使得编程成为可能,程序员通过指令集中的指令组合完成特定的运算任务,按照有序指令解决问题的的方法
程序语言
机器语言
符号语言
高级语言
软件工程
软件工程是指结构化程序的设计和编写, 为高效的程序开发而诞生的一门理论体系。
操作系统
计算机操作系统最初是为程序访问计算机部件提供方便的一种管理程序。
1.4 计算机发展历史
(1) 机械计算机器
此阶段时间在1930年以前,人们发明了一些用来进行计算的机器,它们与计算机的现代概念几乎没有相似之处
1930年以前
(2) 电子计算机诞生
此阶段在 1930~1950 年之间百花共鸣,由电子计算机工业先驱的科学家们发明了一些计算机,大致分为两类即早期的电子计算机与基于冯•诺依曼模型的计算机.
1930〜1950年
(3) 现代计算机诞生
此阶段为 1950年至今,至此之后出现的计算机都差不多都是基于冯•诺依曼模型,它们变得更快、更小、更便 宜,但原理几乎是相同的。
1950年至今
1.5 社会问题和道德问题
计算机科学引发了一些周遭的问题,其中最为普遍的可以归类为社会问题和道德问题。
第2章 数字系统
2.0 什么是数字系统?
用独特的符号(数码)来表示 一个数字 , 在不同的系统中,一个数字有不同的表示方法,使用有限的数字符号来表示数字,所以数码需要重复使用。 例如,(2A)16和(52)8都是指同样的数量(42)10,但是他们的表示截然不同。
2.1 位置化系统
在位置化数字系统中,数字中符号所占据的位置决定了其表示的值。
2.2 进制系统转换
计算机由于其组成由成千上万个晶体管组成,通过其开/关完成或记录各项操作,则计算机只能识别 0 和 1,所以计算机底层识别通常是二进制的数据。
R 进制系统的表示 (R 可为 二、八、十、十六)
二进制(Binary):源于拉丁词根bini(二),它只有 0 和 1 两个数表示,常用下标2或者B表示,例如:数值 3 的二进制表示为 (11)2 或者 11B,计算机中数据通常是以二进制模式(串)存储与计算机中执行.
八进制(Octal):源于拉丁词octo (八),由 0 ~ 7 八个数表示,常用下标8或者O表示,例如:数值 8 的八进制表示为 (10)8 或者 10O.
十进制(Decimal):源于拉丁词 decem (十) ,由 0 ~ 9 十个数表示,常用下标10或D表示,例如:数值 10 的十进制表示为 (10)10 或者 10D ,该进制适合人类阅读理解.
十六进制(Hexadecimal):源于希腊词根hex (六) 和 decem(十),由 0 ~ 9 A ~ E (分别等于 10~15) 十六个数表示,常用下标10或H表示,例如:数值 30 的十进制表示为 (1E)16 或者 1EH 。
R 进制间相互转换
任意进制转换为十进制
将数码乘以其在源系统中的位置量并求和便得到十进制中的数
# 1.将二进制数(110.11)2 转换为十进制数 6.75。 二进制 1 1 0 . 1 1 位置量 2^2 2^1 2^0 2^-1 2^-2 N = 1*4 + 1*2 + 0*1 . 0.5 + 0.25 = 6.75 # 2.将八进制数(23.17)8转换为十进制数约 19.234 八进制 2 3 . 1 7 位置量 8^1 8^0 . 8^-1 8^-2 N = 2*8^1 + 3*8^0 . 1/8 + 7/16 ≈ 19.234 # 3.将十六进制(1A.23)转换为十进制数约 26.137 十六进制 1 A . 2 3 位置量 16^1 16^0 . 16^-1 16^-2 N = 1*16^1 + 10*16^0 . 2*16^-1 + 3*16^-2 N = 16 + 10 . 1/8 + 3/256 ≈ 26.137
十进制转换为其他进制
整数部分:在进行整数部分的转换可使用连除法
例如,将 (58)10 转换为二进制的方法,此处采用除积倒取余(连除)法(也适于八进制、十六转换只是将连除的除数为基数),进行连除以2得到商和余数,当然日常使用8421码更为简单与二进制互换,此处主要讲解的是方式方法而已。 58 % 2 = 0 # 最低位 29 % 2 = 1 14 % 2 = 0 7 % 2 = 1 3 % 2 = 1 1 % 2 = 1 # 最高位 (有效位) 0 二进制的表示为 :11 1010 (从下往上) ,而在八位寄存器通常表示为 0011 1010
小数部分:在进行小数部分的转换可使用连乘法,此处需要非常注意某些考试常常考带小数的转换
# 1.将十进制的0.625转为二进制数结果为(0.101)2 ,注:此处由于没有整数部分,所以只演示小数部分 # 这里以2为底,将小数连乘以2并记录整数和小数部分,小数部分移到右边,而整数部分分别写在每次运算的下面,直到小小数部分为0,或者达到足够位数时结束。 十进制 0.625 *2 0.25(取小数部分)*2 0.50*2 0.00(连乘截止) 连乘结果 1.25 0.50 1.00 二进制 1(取整数部分) 0 1 结果: (0.101)2 # 2.将十进制0.634转换为八进制且精确到4位小数。结果为 (0.5044)8 十进制 0.634*8 0.072*8 0.576*8 0.608*8 0.864(只取四位连乘截止) 连乘结果 5.072 0.576 4.608 4.864 八进制 5 0 4 4 结果: (0.5044)8 # 3.将十进制数178.6转换为十六进制且精确到1位小数,结果为 十进制 0 11 178 . 0.6*16 连除.连乘结果 11/16 178/16 . 9.6 十六进制 B 2(余数) . 9 结果: (B2.9)16
快速将十进制(通常小于256)为二进制数间的互相转换其他方法。
按位权展开法
按位权展开 二进制(八位寄存器)00111010 0*(2^7) 0*(2^6) 1*(2^5) 1*(2^4) 1*(2^3) 0*(2^2) 1*(2^1) 0*(2^0)
8 4 2 1 码法
8 4 2 1 码 二进制(八位寄存器) 00111010 0*128 0*64 1*32 1*16 1*8 0*4 1*2 0*1
二进制转八进制、十六进制
二进制中的3位恰好是八进制中的1位,当不足三位的在最左边添0补齐
# 将(111010)划分位三位一组 111 010 7 2 # 结果为 (72)O
二进制中的4位恰好是十六进制中的1位,当不足四位的在最左边添0补齐
# 将(111010)划分位四位一组不足以0想做向左补齐 0011 1010 3 A # 结果为 (3A)H
数码的数量
通过 k=logbN 的关系(k 是以b为底N的对数,N = b^k)进行计算,其 中b为基数(底数)、N为该数值的整数的十进制。
例如,我可以找到十进制数 234 转换为 2、8、10、16进制中所占的对应位数。 十进制 k= log10234 = 2.37 = 3 位数 二进制 k= log2234 = 7.8 = 8 位数,即 234 = (1110 1010)2 八进制 k= log8234 = 2.62 = 3 位数 ,即 234 = (352)8 十六进制 k= log16234 = 1.96 = 2 位数,即 234 = (EA)16
通过 x ≥ k * (logb1 / logb2) 表达式,求源系统数码的最大数量(b1^k-1, 其中b1是源数码基数,使用k个数码),目标系统拥有的最大数是( b2^x - 1 ,其中 b2是目标数码基数,使用x个数码来装载源系统的值)
例如,找出二进制(目标数码)数码最小数,用于存储一个最大的6个数的十进制数(源目标数码)。 即k=6, b1=10, b2=2 , 即 x = 6 *(log10 / log2) = 6 * ( 1 / 0.30103 ) = 20,即我们需要20位二进制数(1 048 575)来存放6位10进制数码最大值(999 999)。
2.3 非位置化数字系统
非位置化数字系统仍然是使用有限的数字符号,每个符号对应一个值,其所在的位置通常与其值无关,因为每个符号值都是固定的。
罗马数字系统的符号取值,I => 1、V => 5 、X => 10、C => 100、D => 500、M=>1000
为了求得该数字的值,可以把所有符号表示的值进行相加,但是需要遵循特定法则将符号值进行相加。 大值 ≥ 小值 ,其大值在前,小值在后是直接相加即可, 例如 VII = 5 + 1 + 1 大值>小值 ,其小值在前,大值在后时用大值减去小值,例如 IV = 5 - 1 当 S1 > 10 * S2,则符号S2不能在符号S1之前,例如 I 和 V 不能在C之前,因为 100 ≥ 10 * 1 以及 100 ≥ 10 * 5. 当在6种符号(除I以外的所有符号)中的任意一个上方加横杠表示乘以1000,如下图所示 在罗马数字在其系统中缺少码0,尽管罗马人适用单词nulla表示零的概念。
第3章 数据存储
3.1 数据类型
当前计算机中数据以不同形式出现,如数字、文本、音频、图像和视频,但是在计算机内部是采用位模式进行存储的。
位(bit, binary digit 缩写) : 存储在计算机中的最小单元,只有 0 或 1(电子开关),其代表设备的某一状态。
位模式: 使用其表示数据的不同类型,它是一个序列,有时被称为位流,通常长度为8的位模式被称为1字节,例如 16个位组成的位模式 1000 1010 1111 1111(需要16个电子开关)。
3.2 数字存储
无/有符号数
无符号数:即正整数与正实数。
寄存器的位数反映无符号数的表示范围 8 位 = 2^8 = 1111 1111 (二进制) = 0 ~ 255 16 位 = 2^16 = 1111 1111 1111 1111 (二进制) = 0 ~ 65535
有符号数:即负整数与负实数。
真值数:带符号的数,即带“+”或“-”符号的数为真值。 机器数:符号数字化的数, 即用0,1这种表示正负的数称为机器数。
例如:下表中带符号的数与符号数字化的数分别对应,利用符号加绝对值表示法. 带符号的数 + 0.1011 符号数字化的数 0(.)1011
整数的存储
无符号表示法: 其只包括零和正数的非负整数,它的范围介于0到无穷大之间,该方法可以提高存储的效率。
例如,将 7 存储在 8 位存储单元中,使用符号表示法 (7)10 = (111)2 = 0000 0111 (左边加5位0)
符号加绝对值表示法: 在存储整数中该方法并不常用,但该格式用于在计算机中存储部分实数,用符号加绝对值格式存储一个整数,需要用1个二进制位表示符号(0表示正,1表示负)
例如,使用符号加绝对值表示法将+28与-28分别存储在8位存储单元中。 +28 = + (11100)2 = 0001 1100 -28 = - (11100)2 = 1000 1100
二进制补码表示法: 几乎所有的计算机都使用二进制补码表示法来存储位于n位存储单元中的有符号整数。 PS: 后续原码、反码、补码中介绍。
实数的存储
定点表示法: 小数点按约定方式标出,但是尽管固定小数点的表示法(定点)可用于表示实数,但结果不一定精确或达不到需要的精度,所以带有很大的整数部分或很小的小数部分的实数不应该用定点表示法存储。
浮点表示法: 用于维持正确度或精度的解决方法,其允许小数点浮动,即可以在小数点的左右有不同数量的数码,此种方法极大地增加了可存储的实数范围,所以该方法适用于表示带有很大的整数部分或很小的小数部分的实数。
例如,使用科学计数法表示数字 -0.000 000 000 000 023 2 # 同样,此处将小数点移动到首个数码2后。 十进制数: - 0.000 000 000 000 023 2 科学计数法: - 2.32 x 10^-14 (或者 - 2.32E-14) 例如,使用浮点格式(浮点表示法)表示数字-(0.00000000000000101)2 # 同样,小数左边只留一个非零数码,注意指数作为负的二进制数存储在计算机中。 二进制数:-(0.0 0000 0000 0000 0101)2 科学计数法: - 1.01 x 2^-14
规范化:为了统一表示法固定部分,科学计数法(用于十进制)和浮点表示法(用于二进制)都在小数点左边适用唯一非零(0)数码。
符号、指数和尾数: 在一个二进制数规范化之后,只存储了一个数的三部分信息 符号、指数和尾数(小数点右边的位)
# 例如,+(1000111.0101)2规范化后变成为: 符号 指数 尾数 + 2^6 1.0001110101 + 6 0001110101
符号: 一个数的符号可以用一个二进制位来存储(0或1 )。
指数(2的幂): 定义为小数点移动的位数,注意幂可以为正也可以为负。余码表示法(后面讨论)是用来存储指数位的方法。
尾数:是指小数点右边的二进制数,它定义了该数的精度,尾数是作为无符号整数存储的。
余码系统: 正的和负的整数都可以作为无符号数存储,则在余码系统中的所有整数都是正数。
IEEE 浮点数的标准
单精度数格式: 采用总共32位来存储一个浮点表示法的实数。符号占用1位(0为正,1 为负),指数占用8位(使用偏移量127),尾数使用23位(无符号数)
双精度数格式: 釆用总共64位来存储一个浮点表示法的实数。符号占用1位**(0为正,1 为负),指数占用11位(使用偏移量1023 ),尾数使用52位
IEEE 标准浮点数的存储
步骤 1.在S中存储符号(0或1 )。 步骤 2.将数字转换为二进制。 步骤 3.规范化。 步骤 4.找到E和 M的值。 步骤 5.连接S(1位)、E(8位)和M(23位)。
例如,十进制5.75余127码(单精度)表示法。 符号 + S=0 二进制: 5.75 => 101.11 (小数点后连乘法) 规范化: + (1.0111)2 x 10^2 E和M值: E = 指数 + 余码 = 2 + 127 = 129 = (10000001)2, M = 尾数 = (0111)2 = 0111 000 ... 000 (在M右侧增加19个0使之成为23位) 表示法: S E M 存储数据: 0 10000001 0111 0000 0000 0000 0000 000 例如,十进制-0.0234375余127码(单精度)表示法。 符号: - S=1 二进制: 0.0234375 = 0.0000011 规范化: - (1.1)*10^-6 E和M值: E = 指数 + 余码 = -6 + 127 = 121 = (01111001)2, M = 尾数 = (1)2 = 1000 .... 0000 (在M右侧增加22个0使之成为23位) 表示法: S E M 存储数据: 1 01111001 1000 0000 0000 0000 0000 000
IEEE 标准存储的浮点数还原
步骤 1)找到S、E和M的值。 步骤 2)如果S=0,将符号设为正号,否则设为负号。 步骤 3)找到位移量(E-127). 步骤 4)对尾数去规范化。 步骤 5)将去规范化的数字变为二进制以求出绝对值。 步骤 6)加上符号
步骤 1)找到S、E和M的值。 步骤 2)如果S=0,将符号设为正号,否则设为负号。 步骤 3)找到位移量(E-127). 步骤 4)对尾数去规范化。 步骤 5)将去规范化的数字变为二进制以求出绝对值。 步骤 6)加上符号
上溢和下溢 : 对于浮点数,有上溢和下溢两种情况,例如使用32位内存单元(余127码)的浮点表示法,该表示法不能存储很小或很大的绝对值。
零值存储: 当有整数部分和小数部分的实数设置为零的时候是0.0时,此时约定在这种情况下符号、指数和尾数都设为零。
截断错误: 当使用浮点表示法存储实数时存储数字的值可能不是我们希望的。
原码、反码、补码、移码
原码:二进制定点表示法, 即最高位为符号位 0 表示正, 1 表示负, 其余位表示数值位大小,比如 (0 000 0111) B= 7 而 (1 000 0111) B = -7 。
反码:正数的反码与其原码相同, 负数的反码时对其原码逐位取反(符号位除外)。
补码:正数的补码与其原码相同, 负数的补码是在其反码的末尾加1,或者在原码减1在取反也是可以的(计算机中通常是使用补码来存放负数的)。
移码: 在补码的基础上,符号位取反。
综合示例
举例,求数值 7 与 - 7 的原码、反码、补码的二进制表示(八位寄存器)。 数值 7 | 数值 -7 原码 0 000 0111 | 1 000 0111 反码 0 000 0111 | 1 111 1000 补码 0 000 0111 | 1 111 1001 举例,求 - 13 / 64 的补码和移码 -13/64=(-0.001101)2,[x]反=1.110010 ,[x]补=1.110011 ,[x]移=0.110011
有整数和小数部分组合形成的数值
# 整数部分 -> 除基取余法
# 小数部分 -> 乘基取整法
# 将整数和小数转换成为八进制或者十二进制时,在转换时应以小数点为界。
综合示例
例如,将十进制数123.6875转换成二进制数,最终结果为 (1111011.1011)2 # 整数部分 -> 除基取余法 123 % 2 = 1 # 最低位 61 % 2 = 1 30 % 2 = 0 15 % 2 = 1 7 % 2 = 1 3 % 2 = 1 1 % 2 = 1 # 最高位 # 结果 : 0111 1011 (八位寄存器,左边补0) # 小数部分 -> 乘基取整法 0.6875 * 2 = 1 # 最高位 = 1.3750 0.3750 * 2 = 0 = 0.7500 0.7500 * 2 = 1 = 1.5000 0.5000 * 2 = 1 # 最低值 = 1.0000 # 结果 : 1011 例: 将二进制数 1111000010.01101 分别转换为八进制数和十六进制数。 # 1111000010.01101 => 八进制 [00]1 111 000 010.011 01[0] # 左补齐两个00,右补齐一个0 1 7 0 2 3 2 => (1702.32)O # 1111000010.01101 => 十六进制 [00]11 1100 0010.0110 1[000] # 左补齐两个00,右补齐三个000 3 C 2 6 8 => (3C2.68)H
文字的存储
位模式来表示任何一个符号
使用26个符号(A, B, C,…,Z)来表示大写字母
使用26个符号(a, b, c, •••, z)表示小写字母,
使用10个符号(0, 1, 2,…,9)来表示数字字符(不是实际的数字,后面将看到它们的不同之处)
使用单个符号(.,?,:,;,...,!)来表示标点。
使用特殊符号(如空格、换行和制表符)被用于文本的对齐和可读性。
代码与编码
代码:不同的位模式集合被设计用于表示文本符号,其中每一个集合我们称之为代码。
编码:表示符号的转换过程被称为编码。
ASCII : 美国信息交换标准码,由美国国家标准协会**(ANSI)**开发,代码使用7位表示每个符号,即该代码可以定义2^7=128种不同的符号.
Unicode:由硬件和软件制造商联合设计的编码,设计代码使用32位并能表示最大达2^32=4 294 967 296个符号,该代码不同部分被分配用于表示来自世界上不同语言的符号,以及表示图像和特殊符号。(PS: 如今ASCII是Unicode的一部分)
GBK: 中文字符常用编码.
字节与字符
字节(Byte):是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位
字符(Character):计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等字符。
计算机中不同编码占用的字节情况
符号:英文标点为一个字节,中文标点为两个字节。例如:英文句号占1个字节的大小,中文句号占2个字节的大小。
ASCII 码中,一个英文字母(不分大小写)为一个字节,一个中文汉字为两个字节。
Unicode 编码中,一个英文为一个字节,一个中文为两个字节。
UTF-8 编码中,一个英文字为一个字节,一个中文为三个字节。
UTF-16 编码中,一个英文字母字符或一个汉字字符存储都需要 2 个字节(Unicode 扩展区的一些汉字存储需要 4 个字节)。
UTF-32 编码中,世界上任何字符的存储都需要 4 个字节。
音频的存储
音频本质上不同于数字与文本数据,音频是模拟数据的例子,音频表示声音或音乐,它是随时间变化的实体,我们只能在每一时刻度量声音的密度。
采样、量化、编码
采样: 我们需要在模拟信号上选择数量有限的点来度量它们的值并记录下来
量化: 指的是将样本的值截取为最接近的整数值的一种过程(可以理解为四舍五入),从每个样本测量来的值是真实的数字, 为每个样本使用一个无符号的数(位模式)会更简便
编码:量化的样本值需要被编码成位模式,某一些系统为样本赋正值或负值,另一些仅仅移动曲线到正的区间从而只赋正值
声音编码标准
MP3、AAC 、AC-3、AMR、WMA、ALAC、APE、FLAC、PCM、DSD、WAV、AIFF、MIDI等标准
图像的存储
光栅图
当我们需要存储模拟图像(如照片)时,就用到了光栅图(或位图)一张照片由模拟数据组成,不同的是数据密度(色彩)因空间变化,而不是因时间变化,同样需要针对其样本数据进行采样(扫描)。
1.解析度: 在图像处理中的扫描率称为解析度,如果解析率足够高,人眼不会看出在重现图像中的不连续。
2.色彩深度: 用于表现像素的位的数量,即色彩深度,依赖于像素的颜色是如何由不同的编码技术来处理的,我们的眼睛有不同类型的感光细胞,一些响应红、黄、蓝三原色(也叫RGB), 而另一些仅仅响应光的密度。
真彩色:用于像素编码的技术之一称为真彩色,它使用24位来编码一个像素(可以表达 16777216 种颜色)
索引色:索引色(或调色板色)模式仅使用真彩色里其中的一部分即使用8位编码,因为真彩色模式使用了超过1600万种的颜色,计算机应用程序通常不需要如此大的颜色范围。
举例说明
例如,真彩模式需要24位来储存一个像素,索引色模式通常使用256个索引,这需要8位来存储同样的像素。 例如,一部高质量的数码相机要用几乎3百万像素拍摄一张3X5英寸的相片。 真彩色模式存储所需要的位的数量:3 000 000 x 24 = 72 000 000 索引色模式存储所需要的位的数量:3 000 000 x 8 = 24 000 000
3.图像编码标准
JPEG(Joint Photographic Experts Group):是JPEG标准的产物,该标准由国际标准化组织(ISO)制订,是面向连续色调静止图像的一种压缩标准,使用真彩色模式,使用压缩图像来减少位的数量,常用格式后缀名为.jpg或.jpeg
PNG(Portable Network Graphics):便携式网络图形,是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性.
GIF (Graphics Interchange Format):图形交换格式,它是一种位图,使用索引色模式。
像素和字节的关系
对于 黑白图像(二值图像)一个详像素用一个bit表示,所以1字节表示8像素
对于 灰度图,一个像素为 256 种状态正好2的8次方,因此1字节表示1像素
对于 RGB 图,一个像素为 256 x 256 x 256 种状态正好2的24次方,因此3字节表示1像素
矢量图
矢量图适合应用程序采用主要的几何元素来创建图像矢量图是由定义如何绘制这些形状的一系列命令构成的,当要显示或打印图像时,将图像的尺寸作为输入传给系统,于此同时系统会重新设计图像的大小并用相同的公式画出图像,所以每次绘制图像时公式也将重新估算一次,因此矢量图也称为几何模型或面向对象图形。
简单的说: 矢量图图像编码方法并不存储每个像素的位模式,一个图像被分解成几何图形的组合。
常用软件与应用:例如Flash、TrueType (微软、苹果公司)和PostScript (Adobe公司)字体、算机辅助设计CAD、以及矢量图SVG的图片格式。
温馨提示:矢量图不适合存储照片图像的细微精妙,推荐使用JPEG或GIF光栅图提供了更好和更生动的图片。
视频的存储
视频是图像(称为帧)在时间上的表示,一部电影就是一系列的帧一张接一张地播放而形成运动的图像。换言之,视频是随空间(单个图像)和时间(一系列图像)变化的信息表现。
在计算机中它将每一幅图像或帧转化成一系列位模式并储存,将这些图像组合起来就可表示视频。
视频编码标准
MP4: 常用*MPEG*(Moving Picture Experts Group,动态图像专家组)技术针对常视频进行压缩。
AVI