一文彻底揭开你不知道的二进制的秘密
一文彻底揭开你不知道的二进制的秘密
二进制是计算机科学的基础,它不仅是一种简单的数字表示法,更是现代信息技术的核心。从图片到声音,再到视频,几乎所有数字化信息都可以用二进制来表示和存储。本文将带你深入了解二进制的基本概念及其在现代信息技术中的应用。
1. 二进制是什么
二进制是一种数字表示法,它使用两个不同的数字符号,0 和 1,来表示数值。下面是一些二进制的基本概念:
位(bit)
不同于十进制中,每个位可以用 0-9 表示,二进制中每位都是 0 或 1,每个二进制位我们称之为一个 bit,可以表示两种状态。位一般用 b 代替,例如 8b 代表 8 个 bit。字节(byte)
8bit组成一个字节,总共可以表示 256种状态。字节一般用 B代替,例如 8B一般表示 8个字节。其他计量单位(K,M,…)
K:表示 2 的十次方,例如,1KB 就是 1024B
M:表示 2 的 20 次方。例如:1MB 就是 1048576B
G:表示 2 的 30 次方
T:表示 2 的 40 次方
比这些更高的计量单位,尽管有定义,但是现实中我们很少用到
二进制是计算机科学的基础,现实中的绝大部分信息都可以完全数字化,并进一步用二进制来表示和存储。
2. 用二进制表达图片
图片数字化的过程,分为几步:
图片像素化
现实中的图片是连续的,但如果想用数字表示图像,就需要将一张完整的图像,横纵向分别切成很多份,从而拆成一个一个像素点,每个像素点是一个色块,而横纵切分的份数,我们称之为分辨率。
例如,我们将一张 4比 3比例的图像,横向拆成 800份,纵向拆成600份,那么我们就将一个图像拆成了480000个像素,而这张图像的分辨率为800x600。
由此可见,图像的分辨率越高,图像就越清晰。像素数字化
每个像素就是一个颜色块。
具体的颜色,可以用红绿蓝三原色调配成。而每种原色,就可以用一个数字表示其深浅。例如,我们用一个字节(0-255)表示一种颜色的深浅,那么一个像素点就可以用三个字节表示。颜色的深浅是连续的,用0-255这种级别如果不够精确,我们可以选择用两个字节表示一个颜色(0-65535)。
像素的深浅级别我们称为“位深”,例如0-255为8位深,0-65535是16位深。位深越大,颜色切分越连续,越不容易出现色阶。
现今网络上的图像一般都是 32 位深。
3. 用二进制表达声音
声音的数字化和图像的过程非常类似:
采样
声音来自于物体的振动,是一种连续的波形。我们如果想用数字表达声音,还是要将其离散化。
首先我们将一段时间(例如 1 秒钟)的连续声波分成很多份,并将每一份记录一个平均振幅。
拆分的份数,我们称之为采样率。拆分过程中必然会产生信息丢失,而采样率越大,信息丢失越少。
目前比较常用的采样率是 44100HZ 或者 48000HZ。量化
每个采样我们还要用一个数字表示它的高度(振幅),这又是一个连续量离散化的过程,跟图像的颜色深浅类似,我们也可以用 0-255 或者 0-65535 表示振幅的高度。这个数字的取值范围叫做声音的位深。
目前通用的位深一般是 16bit 或者 24bit。
4. 用二进制表达视频
视频就是连续的图片和声音。
当然,如果只是耿直地将图片拼接到一起,那么视频的体积会非常大。
实际上视频是通过一种有损压缩将很多图片压缩在一起。
目前比较流行的视频编码标准为 H.264、H.265、AV1。