计算机可处理的数据类型包括:数字、文本、音频、图像、视频......
数字
计算机内,数字用位模式来表示。
位(bit,binary digit缩写)是存储在计算机中的最小单位:0或1,代表设备的某一种状态。
位模式(位流):表示数据的不同类型,多个位组成一个位模式,由16个位组成的位模式,如图: 如果我们需要存储1000个位模式,每个16位,需要16000个开关
字节:长度为8的位模式,称为1字节
字:指代更长位模式,比如可以表示1个字 = 2字节
溢出:以无符号整型4位为例,运算11+9。结果理应是20,但4位无法表示20,运算时最高位进位被抹去(相当于少了16),结果为4。
(有符号数溢出情况自行类比)
正负表示:用最高位表示正负的原因如图(茅塞顿开、豁然开朗)。结果会有两个零(+0和-0),规定-0为最小值。
反码:除符号位外,执行取反操作
补码:两种方法。1.从右往左遇到第一个1,之后的取反(符号位除外)
2.取反码然后加1
浮点即小数点。整数默认浮点固定在末尾;实数中浮点位置可变,故可存储小数
“定点数”前的“1”和小数点默认省略,运算的时候再考虑进去。“位移量”省去了基底“2”
余码:在上面的基础上增加了偏移量。如图:
两种常见的余码
文本
文本可以通过约定的字符表来表示。比如ASCII码、Unicode码,举个栗子,'A'用65表示。
音频
音频不像数字和文本那样,它很抽象,但可以通过三个步骤达到处理目的:采样、量化、编码。
采样:我们在模拟信号上选择数量有限的点来度量它们的值并记录下来。联系微积分,只要我们的点取的无限多,模拟音频效果就更好。虽然理论上可行,但实际上我们很难做到,因为这样会占用太多内存,CPU工作量很大很容易崩溃,而且大部分情况下也没必要这么精确。所以应该根据实际需求使用不同精度的机器。精度越高,价格越贵,模拟音频效果更好。
量化:指将样本的值截取为最接近整数值的过程,即四舍五入。
编码:将量化后的值转换为二进制位模式存储在计算机中。
图像
包括两种技术:光栅图(位图)和矢量图
光栅图:
将图像分为大量的样本,样本称为像素(图像元素)。对每个像素进行编码,色彩由红绿蓝三色组成,显示的时候根据编码发光。像素越多,内存越大,图像越清晰;像素越小则相反。
tips:我们日常看到的物体的颜色和光的颜色的混合规则不同。各种光合成的是白色;物体的颜色是反射光的颜色,各种颜料混合而成的并不是白色,而是黑色。因为我们看到的物体的颜色只是反射了的光的颜色。
矢量图:
矢量图是根据数学公式表达的。放缩不会失真。缺点是每次放缩要重新绘制图像。
视频
视频是图像(称为帧)在时间上的表示。一个视频就是通过一系列的帧一张接一张地播放而迷惑眼睛从而忽悠大脑的,进而让人以为视频里的物体是动态的。
通过计算可以知道,如果一个视频未经压缩,将占用很大内存。因此,视频压缩技术成为一门独立出来的学科。目前短视频横行的时代,视频压缩技术显得尤为重要。比如,抖音、Facebook等大型社交平台被客户需求反作用,不断更新视频压缩技术,达到一个高水平。