第二讲(2022年9月13日-9月24日) 讲义 (By QiuSir)
信息的表示与存储
信息是结构的数据,外部世界的数值、文字、图像、声音、影像……等等,在计算机内部如何表示,冯诺依曼已经替我们规划好了,就是二进制。
把信息二进制化,即数字化。
1. 数值的数字化(二进制化)
人类习惯使用的十进制数值转换成二进制,规则很简单,等大即可,但是,在二进制数值在计算机存储,计算,传输过程中,数值的正负,小数点问题如何解决?(计算机不认识正负号,计算机也不认识小数点)
二进制是什么(Binary)
定义:
- 二进制中只有两个数码字:0 和 1 。(专业的说法就是基数为2)
- 二进制中的进位借位规则:逢二进一,借一当二。(注意,正因为逢2进1,所以二进制中没有数字2)
举例:
- 比如:1010 B 是一个 4位的二进制数。 (末尾的B,代表该数是计算机的二进制数:Binary)
- 比如:345 是一个3位的十进制数。 (该数是我们日常生活中的十进制数,有时也会末尾的D表示,Decimal)
扩展:是不是都是雷同的,秒懂没压力。
-
十进制是什么
- 十进制中只有十个数字:0 ,1,2,3,……,8,9(专业的说法就是基数为10)
- 十进制中的进位借位规则:逢十进一,借一当十。(注意,正因为逢十进一,所以十进制中最大的数码字就只能是9)
-
八进制是什么
- 八进制中只有八个数字:0 ,1,2,3,……,6,7(专业的说法就是基数为8)
- 八进制中的进位借位规则:逢八进一,借一当八。(注意,正因为逢八进一,所以八进制中最大的数码字就只能是7,没有8和9)
-
十六进制是什么
- 十六进制中只有十六个数字:0 ,1,2,3,……,8,9,A,B,C,D,E,F(专业的说法就是基数为16),
- 十六进制中的进位借位规则:逢十六进一,借一当十六。(注意,正因为逢十六进一,所以十六进制中最大的数码字是:F)
-
直观地看看他们:
-
十进制Decimal 二进制Binary 八进制Octal 十六进制Hexadecimal 00 00000000 00 00 01 00000001 01 01 02 00000010 02 02 03 00000011 03 03 04 00000100 04 04 05 00000101 05 05 06 00000110 06 06 07 00000111 07 07 08 00001000 10 08 09 00001001 11 09 10 00001010 12 0A 11 00001011 13 0B 12 00001100 14 0C 13 00001101 15 0D 14 00001110 16 0E 15 00001111 17 0F 16 00010000 20 10 17 00010001 21 11 00010010 = 19 00010011 23 13 20 00010100 24 14 -
解读一下:
-
十进制数的每一位:万位(位),千位(位),百位(位),十位(位),个位(位),小数点,位, 位, 位
-
2 4 9 位(百位)=100 位(十位)=10 位(个位)=1 200 40 9 =249
-
同理:二进制数的每一位:……,位, 位, 位,……,位,位,位,小数点,位,位,……。
-
同理:十六进制数的每一位:……,位,位,位,位,位,小数点,位,位,……。
-
数制转换(不同数制的数值,等大对应转换)
-
二进制转换成十进制:按权相加(权重)
-
举例:(10111011){2} or 10111011B = (187){10} or 187 ?
-
1 0 1 1 1 0 1 1. 权重: 128 0 32 16 8 0 2 1 128+0+32+16+8+0+2+1 =187
举例:= 107
0 1 1 0 1 0 1 1. 权重: 0 64 32 0 8 0 2 1 64+32+8+2+1= 107
举例:(1111,1111)_2 =?
1 1 1 1 1 1 1 1. 权重: 128 64 32 16 8 4 2 1 255
十进制转换成二进制(整数部分):除2取余,除到商为0停止,余数倒排
-
举例: ===?
-
举例:十进制168转换成二进制数据:
-
举例:十进制45转换成二进制:
-
尝试使用下windows系统中计算器程序
-
仔细研究下前面的表格,结论:1位的16进制数和 4位的二进制数,进位借位关系一致
-
二进制与十六进制相互转换:
- 从小数点开始,每4位二进制数对应转换成1位十六进制数,不足4位补0。
- 从小数点开始,每1位十六进制数对应转换成4位二进制数,不足4位补0
-
举例1: =
-
举例2: or or =
-
【扩展】:二进制与八进制相互转换:?
-
在线的调色板(用16进制数描述颜色):www.sojson.com/web/panel.h…
【扩展】:IP地址、MAC地址、掩码(控制面板\网络和 Internet\网络和共享中心,更改适配器设置,适配器-状态-详细信息)
互联网上电脑的IP地址(IP Address) :是一个32位的二进制数,描述IP地址时,用3个点来分隔4个不大于255的十进制数。查查自己在互联网上的真实IP地址: www.ip138.com/
网卡的MAC地址(Media Access Control): 12位十六进制数, 实际是一个48位的二进制数。
一个字节就是一个八位二进制数。Byte。衡量存储器容量的单位
- kilo byte (千字节): 1KB=1024B 2^{10}
- mega byte (兆字节):1MB=1024KB 2^{20}
- giga byte 吉字节: 1GB=1024MB 2^{30}
- tera byte 太字节: 1TB=1024GB 2^{40}
- peta byte 拍字节: 1PB=1024TB 2^{50}
- exabyte 艾字节: 1EB=1024PB 2^{60}
【扩展】国际象棋棋盘格上放麦粒的故事:
=?
二进制数中的每一位就是一个比特。bit。
正数、负数、整数、浮点数的表示
正负整数(Integer)表示方法:
- 最高位,最左侧的位:表示正负, 1 是负,0 是正(补码)
- 其余 31 位/63 位: 表示实数
浮点数(Floating Point Numbers):
定义:小数点可在数字间浮动的数(非整数)
表示方法:IEEE 754 标准下,用类似科学计数法的方式,存储十进制实数数值
- 浮点数 = 【有效数字】 + 【指数】
- 32 位 实数中:最高位(最左侧的位):表示正负,第2位-第9位,共8位 存指数,剩下 23 位存有效数字位数
- 例如,625.9 = 0.6259(有效位数)* (指数),举例是十进制,其实内部都用二进制。
2.文字的数字化(二进制化)
不同国家的官方语言、文字,不同民族的语言、文字,在计算机内部表示成二进制代码。有一个发展过程
-
最初,各村有各村的高招,美国人规划了ASCII编码方案,中国人规划了GB2312-1980方案,也称字符集。(国标码),对6763各汉字进行编码,3755个一级汉字(读音拼音的字典序),3008个二级汉字(部首笔画顺序),后续又制订了,GBK,后期又升级为GB18030(2.6万个汉字)
-
【扩展知识】:关于编码方案:居民身份证编码方案解读, 参考
-
ASCII码是七位编码,计算机内部表示时,占一个字节(Byte),字节的最高位为0,后七位表示128个字符。
-
需要记住如下几个常用字符的ASCII码:
- 0010 0000 ,20H ,空格 ,32
- 0011 0000 ,30H ,数字符0 ,48
- 0100 0001 ,41H ,大写A ,65
- 0110 0001 ,61H ,小写a, 97,"A" > "a" ? = false
-
国标码是十四位编码,高七位,低七位,计算机内部表示时,占两个字节,即双字节编码,每个字节的最高位也为0。在实际应用中,为了和ASCII码区分开,将每个字节的最高位设置为1。这样就和规划的国标码不同了,称为机内码,也叫内码。但解决了ASCII码和国标码冲突的问题。貌似完美。参看这里,此表实际上是机内码表。
-
举例:屏的机内码:C6C1 H ===
-
国标码和区位码的关系(区位码是4位的十进制代码,也可以理解为输入法,把6763个汉字的每个区位码背下来, 用于输入汉字,区码:01-94,位码:01-94,恐怖的区位码表!,
-
比如2901是健,4582是万):国标码-2020H = 区位码
-
国标码和机内码的关系:国标码+8080H = 机内码 。 8080H =
-
举例:
- “大”字的区位码为2083(十进制数) ,“区”和“位”分别换算成十六进制是1453H(20→14H,83→53H)
- 1453H+2020H=3473H,得到“大”字的国标码是3473H
- 3473H+8080H=B4F3H,得到“大”字的机内码是B4F3H(见上表): 1011 0100 1111 0011
-
但是,日本人的Shift-JIS方案,中国台湾省的BIG5方案,等亚洲国家的双字节编码方案群雄并起。出现了乱码问题
-
Unicode发展历程:1990年开始研发,1991年推出了Unicode统一码,一统江湖,既兼容了早期各国的编码方案,又避免了乱码问题,1994年正式发布1.0版本,2021年9月14日发布14.0版本,官网:home.unicode.org/ 著名的UTF-8编码方案。 -
汉字的整个过程,键盘扫描码(输入码),机内码,字形码(点阵字库)或者矢量字库(TrueType),用于显示和打印
-
点阵字库的缺点:实际就是图像的描点,文字放大后,失真,效果很差。也叫点阵字型码。
-
矢量字库:用不同参数的函数来描述每个字,调整参数可以缩放每个字的大小。
更多内容,参看课辅材料04
3.声音的数字化(二进制化)
声音是一种波,声音的主要物理特征包括频率和振幅。振幅反映了声音的响度的强弱,频率反映了声音音调的高低。是连续的模拟信号。
基本方法:
按照一定的时间间隔采集声波的振幅,并将其转换成二进制的序列。即通过采样,量化,编码,三个步骤来实现模数转换。
采样频率:以相等的时间间隔来测得声音模拟信号得模拟量值,对其进行离散化提取,采样频率指每秒钟声音被测量的次数,以HZ(赫兹)为单位。例如,高保真音乐采样频率一般为44.1kHZ,即44100次/秒,* 而电话只有3kHZ左右。*
量化位数:将采样值变换成最接近得数字值,即用有限个数得数值近似得表示原来连续的值。如图,16个量化级别,可以用一个4位二进制数表示。量化级别越多,量化值就越接近采样值,音频的精度就越高。如果用256个量化级别进行量化,则可以用8位二进制数表示。
编码:将一个连续的声波转换成一系列二进制数表示的数据,形成二进制编码。会涉及压缩算法。
音频所占的存储容量公式:
音频所占存储容量公式=采样频率 * 量化位数 * 声道数 * 时长 /8 (单位: 字节Bytes)
举例:一首100秒的双声道音乐,采样频率44.1kHZ,量化位数位16位,计算该音乐的数字化音频所占用的存储容量(16.82MBytes)
44100 100秒 * 16 * 2 /8== 16.821024*1024B
常用的音频文件格式
- wav:直接记录经过数字化后的声波数据,与原声基本一致,声音质量高,但,文件很大。
- mp3:mp1,mp2,mp3 统称MPEG标准音频,通过有损压缩存储声音的文件格式,去除了人耳不敏感的高频部分的声音,声音失真较小,文件较小。压缩比可分别达到(4:1,8:1,12:1),其中,mp3压缩比高,音质好,适合网上传输,得到广泛应用。
- wma: Windows media audio,看名字就知道,是微软推出的音频格式,压缩比18:1,内置了版权保护技术且支持音频流,适合在线播放。
- aac、m4a:Advanced Audio Coding,杜比实验室Dolby、AT&T、SONY等公司共同开发的,基于mp2的同时,优化了算法,集成了很多新特性,压缩比更高,音质更佳,文件更小。
- amr/snd : 主要用于移动设备,压缩比较大,声音质量较差,但数据量小,适合网络传输,实时性较强,多用于语音通话。
- ape/flac: 无损压缩,压缩比较小,但也缩减了体积,还原后数据与原声保持一致。车载音乐。potplayer 播放器工具软件
- mid/midi :迷笛(midi)文件,Musical instrument Digital Interface ,乐器数字化接口文件,保存的不是真实的声音,而是电子乐器的指令。文件体积很小,声音效果依赖于播放设备的硬件条件,但是,易于编辑,处理,即编排起来方便。
【扩展】比特率(码率,码流) :即编码后(压缩后)的音频数据,每秒钟需要多少个比特来表示。即:采样频率*量化位数。 单位:bps (bits per second)
4.图像与视频影像的数字化
一副图像可以看作由许多彩色的或各种级别的灰度的横纵排列的点组成,Pixel(像素)。
用二进制数据来对应每一个像素
如图:90721 bits /8 = 828Bytes <1KB
图像所占存储容量=水平像素数垂直像素数颜色深度 /8 .(单位 Bytes)
颜色深度:要表示每个像素的颜色所要占用的二进制数据的位数。此图只有黑白两色,只需要1表示黑,0表示白,占用1位二进制,即可
所以,这个黑白的icon文件大小,约 90721 /8 =810B ,不到1KB 。
如果是彩色的呢,每个像素是RGB三原色混合而成的,每种颜色用一个字节表示,比如24位真彩色。即每个像素的颜色深度是24位的二进制数,算一算呗。 www.sojson.com/web/panel.h… 在线调色板 2^24
1024*768的图像,每个像素的颜色深度是24位,占用多少空间?
1024* 768 * 24 /8 = 2.25MB
常用图像文件的格式
- bmp: 不压缩,占用存储空间大,不便于网络传输。
- jpg/jpeg/png: 压缩的,jpeg是有损压缩,png是无损压缩。相关压缩原理,搜一搜?
- gif/ico/: 动画,图标,gif也是无损压缩 ,颜色深度 :8位,支持动画。
关于RGB和CMYK格式
了解了图像,视频就简单了,视频就是连续的图像,连续的大于24frame/s的图像,一般是30帧/s,录制的帧数越多,慢动作效果是不是越好?
还有一个话题:人类的视觉暂留原理,看见的也未见得真实的。
常用的视频文件的格式
- wmv/avi : 微软的
- mov:苹果的,QuickTime
- mp4/flv/f4v/webm/3gp : 流媒体,网络直播
- dv/mkv/m4v/h.264/mod/等: 数码摄像机,点播,监控等
5.多媒体技术(multi-media),媒体:信息的载体
媒体的分类:
- 感觉媒体:人类的耳眼鼻口舌
- 表示媒体:包括上述的各种编码方案
- 表现媒体:显示器,音响等展现信息的设备
- 存储媒体:磁盘,光盘,U盘等
- 传输媒体:网络传输介质,双绞线,光纤,不同频段的无线电波等
多媒体技术是一门跨学科的综合技术,融合了文字、声音、图像和视频等多种媒体信息,网络技术的发展,又扩展了多媒体技术的应用领域。
多媒体技术的特征
- 交互性 : 互联网发展,Web1.0 单向,Web2.0 页面交互 ,发展中的Web3.0(去中心化)
- 集成性:合成各种媒体,比如字幕、声音、特效等等
- 多样性: 手段的多样化,比如输入(条形码,二维码扫码),比如传播(4G、5G、WIFI、BLUETEETH、NFC等),比如再现展示(显示器/音响/VR眼镜)等 www.hlcode.cn/ 二维码生成在线工具
- 实时性:实时响应,实时控制,交通,公共安全领域等,天眼系统
6.数据的压缩
无损压缩(Lossless compression)
-
原理:是通过统计被压缩数据种重复数据的出现次数来进行编码。解压缩就是对被压缩数据进行逆向重构。重构的数据和原来的数据完全相同。
-
无损压缩的特点:压缩比较低,一般2:1到5:1,广泛应用在文件压缩:文本,程序,重要图形图像(指纹图像,医学图像)的压缩。
-
常用的无损压缩软件:WinRAR ,WinZip,7-Zip等
-
无损压缩常用算法:
- 行程编码(游程编码,Run-Length Encoding):减少重复的信息、适合经常出现相同信息的文件。
- 熵编码也叫统计编码:又包括算术编码方案和霍夫曼编码方案
| --- |
有损压缩(Loss compression)
本质是:丢掉人类看不出区别的数据,也称:破坏性压缩,不可逆压缩,压缩后的数据不能够完全还原成压缩前的数据,虽然不同,但非常接近。损失原始数据种的一部分信息来换取较高的压缩比。常用于音频,视频和不重要的图像的压缩(常常丢弃对听觉、视觉感知中不重要的部分)
与超声波超低频等类似,人类的视觉也不是完美的,看不出颜色的细微变化。著名的有损压缩图像文件,JPEG格式图像。
有损压缩常用算法:
- 预测算法: PCM、DPCM、ADPCM,脉冲编码调制方案,适合声音、图像的有损压缩,邻近采样点之间的信息相关性和相似性大的统计学特点,用较少比特位来表示
- 变化编码方案
- 基于模型编码方案
- 分形编码方案
- 矢量量化编码方案
7.计算机病毒常识
冯诺依曼在其遗著《计算机与人脑》中,详细论述了程序能够在内存中进行繁殖活动的理论。繁殖(自我复制),预示了计算机病毒的出现是计算机软件技术发展的必然结果。ComputerVirus, 计算机病毒
计算机病毒的特点:
- 寄生性:是一个小程序,是一个程序片段,只有附着在正常的程序中,才能得到运行的机会并拿到宿主的权限去操控其他程序,甚至破坏整个系统。
- 可传染性:自我复制,自我繁衍繁殖
- 隐蔽性(潜伏性):
- 破坏性(危害性):
计算机病毒的分类:
- 引导区型病毒
- 文件型病毒
- 混合型病毒
- 宏病毒
- 网络病毒
计算机被病毒感染后的常见症状
计算机病毒的清除:
360?
小红伞?
计算机病毒的预防:
预防为主,基本上和防诈骗套路一样,充实自己的认知,杜绝不劳而获的贪心。
参看课辅材料《史上著名的计算机病毒》