一、前置基础
1.布尔逻辑
基础:电流流过与否代表的是与否的信息。
内容:否、和、或(兼或/异或)
否:将真变为伪,将伪变为真。
和:A和B同时为“真”时,输出“真”,其余为伪。
或:
兼或:A为“真”,输出“真”,B为“真”,输出真,A、B同时为真时,输出真,A、B同时为伪时,输出为伪。
异或:只有A、B单独为“真”时,输出“真”
实现方式:输入和输出口位置不同,多个晶体管套用。
2.二进制
规则:满二进一,一位数称为一“比特”,八位数称为一“字节”
整数、负数、小数的表达方式:
正数:第一位放0
负数:第一位放1
小数:一般用浮点数(类似科学计数法)表示,第一位表示正负,后续几位表达指数,剩余数字表示有效数字
二进制负数要转补码算,补码转换方式:去掉第一位表正负的数,其他数字反转,再 加一
3.文本表示
最早期:ASCII码
中文最早:GB2312 GBK
统一:Unicode 如今最广泛的是ufk
4.图像表示
步骤:扫描、分色、取样、量化
图像的最小单元:像素 (pixel)
一张图是由很多很多小方格(像素点)组成的,每个像素里记录“颜色”的信息。分辨率就是横 × 纵的像素数。比如 1920×1080 的屏幕,大约有 200 万个像素。
颜色怎么表示?
最常见的是 RGB:
R = Red 红色
G = Green 绿色
B = Blue 蓝色
通常:
每个通道用 1 个字节(0~255) 表示亮度。
所以 1 个像素 = 3 字节(RGB)。
如果带透明度(Alpha 通道),就是 4 字节(RGBA)。
例如:
黑色 = (0, 0, 0)
白色 = (255, 255, 255)
纯红色 = (255, 0, 0)
图像文件的本质
一串字节流,不过约定了“这些字节如何拼成像素”。
例子:一张 100×100 的 RGB 图片:
有 10000 个像素
每像素 3 字节
总大小 = 30000 字节 ≈ 30KB(如果不压缩)。
压缩和格式
光存像素会很大,所以图像一般用 格式 来压缩:
BMP:几乎不压缩,直接存像素,文件很大。
PNG:无损压缩,适合图标、线条画,能减小体积但保证不失真。
JPEG:有损压缩,适合照片。通过丢掉人眼不敏感的细节,大幅缩小文件。
GIF:256 色 + 动画。