3. 数字存储

内容

数据类型

数字, 文本, 音频, 图像, 视频
2. 计算机内部的数据

  1. bit binary digit. 0或1. 位代表设备的某一状态
  2. 位模式/位流: 由一定长度的位组成. 通常长度为8的位模式被称为1字节

存储数字

  1. 需要解决的问题
    1. 如何存储数字的符号
    2. 如何显示十进制小数点: 定点和浮点.(整数和实数分别都可以用定点和浮点表示. 为避免浪费精度,分别采用不同方式存储)
      1. 整数通常使用定点表示法存储在内存
  2. 整数: 完整的数字.没有小数部分
    1. 无符号表示法: 不能区分正负数
      1. 存储
        1. 将无符号整数变为二进制数
        2. 如果二进制位数不足n, 在左边补0. 使总位数为n.
        3. 如果位数大于n, 该整数无法存储. 因为会导致溢出情况.
      2. 溢出: 位数n是有限的, 因此可以表达的整数范围是有限的.
        1. 最大无符号整数: \(2^n-1\). (n是计算机分配用于表示无符号整数的二进制位数)
        2. 溢出后,会丢弃最右边的位, 只保存从右到左n位.
      3. 无符号整数的优点: 因为不必存储符号,因此可以提高存储效率.
      4. 无符号整数的应用
        1. 计数
        2. 寻址
        3. 存储其他数据类型: 文本, 图像, 音频和视频等.
    2. 符号+绝对值表示法
      1. 存储
        1. 用最左位的1个二进制位存储符号(0表示正, 1表示负).
        2. 在n位的存储单元中,仅可以用n-1位表述数字的绝对值.最大的正数值仅为无符号最大数的一半
        3. n位存储单元存储的数字范围是: \(-2^{n-1}-1\)\(+2^{n-1}-1\)
      2. 有2个0. +0(1000)和-0(0000).
      3. 溢出
        1. 符号+绝对值表示法中的溢出分为正溢出(变为负数)负溢出(变为正数)
      4. 应用: 常用于采样 模拟信号?
    3. 补码和反码运算
      1. 反码
        1. 应用范围: 可应用于任何整数,无论正负
        2. 运算规则: 每一位按位取反
        3. 原(二进制)整数进行两次反码运算, 可以得到原来的整数.
      2. 补码
        1. 应用范围: 可应用于任何整数,无论正负
        2. 运算规则: 从右边复制位, 直到有1被复制. 然后反转其余的位
        3. 原(二进制)整数进行两次补码运算, 可以得到原来的整数.
    4. 二进制补码表示法: 可以区分正负数
      1. 存储(二进制整数->补码)
        1. 正数: 原样存储
        2. 负数: 转补码存储
      2. 读取(补码->二进制整数)
        1. 最左位是1: 取补码
        2. 最左位是0: 原样读取
      3. 仅有1个0
      4. 溢出
        1. 正溢出
        2. 负溢出
  3. 实数: 带有整数和小数部分的数字
    1. 定点表示法: 总是损失实数精度或小数精度
    2. 科学计数法(用于10进制)
      1. eg: \(+742500 = +7.425\times10^{5}\). 也可以表示为\(+7.425E5\)(以10为底是显而易见的)
      2. eg: \(-0.032 = -3.2 \times 10^{-2}\). 也可以表示为\(-3.2E-2\)
    3. 浮点表示法(用于2进制)
      1. 组成: 符号, 位移量, 定点数
    4. 规范化: 科学计数法和浮点表示法都在小数点左边使用唯一的非0数码.
    5. (2进制数的)符号, 指数和尾数
      1. eg:
        1. 原数: \(+1000111.0101\)
        2. 规范化: \(+1.0001110101 \times 2^6\)
          1. 规范化后的符号: 1
          2. 规范化后的指数: 6
          3. 规范化后的尾数: 0001110101(最左位1没有存储.是隐含的)
      2. (规范化后的)符号: 用一个二进制位表示(0或1).
      3. (规范化后的)指数: 小数点移动的位数. 可以为正负数(对应整数和小数部分)
      4. (规范化后的)尾数: 小数点右边的二进制数
        1. 尾数作为无符号整数存储的
        2. 尾数不是整数, 只是像整数那样存储的小数部分
          1. 整数中, 在数字左边插入0, 值不会改变
          2. 尾数中, 在数字左边插入0, 值将会改变
      5. 余码: 指数作为无符号位表示
        1. 偏移量: n位指数的偏移量为\(2^{m-1}-1\)
        2. 存储: 指数增加偏移量个单元.使可以用无符号整数表示正负指数
        3. 如: 4bit位可以被用来表示为\(-7 - +8\)的指数,增加7后可用\(0-15\)(全部为正数)来表示指数.
    6. IEEE标准
      1. 单精度: 32位. 别名: Excess 27(余127码).
        1. 符号(Sign Bit.简称'S'): 1位
        2. 指数(Exponent. E): 8位
        3. 指数偏移量: 127
        4. 尾数(Mantissa. M): 32位
      2. 双精度: 64位. 别名: Excess 1023(余1023码).
        1. 符号(S): 1位
        2. 指数(): 11位
        3. 指数偏移量: 127
        4. 尾数: 52位
      3. IEEE标准浮点数的存储步骤
        1. 在S中存储符号
        2. 将数字转化为二进制
        3. 规范化
        4. 找到E和M的值
        5. 连接S, E和M
    7. 浮点数的上溢和下溢
    8. 存储0
    9. 截断错误

存储文本

  1. 任何语言中, 文本的片段 是用来表示该语言中某个意思的一系列的符号.
    1. 不同的语言中有不同数量的符号,因此可能需要不同的位模式才足以表示它们.
    2. 位模式长度和符号数量是对数关系.如: 如果需要2个符号, 位模式长度是1 (\(log_22 = 1\)).
    3. 可以用位模式来表示任意一个符号.如,4个符号组成的文本"CATS"用4个位模式表示.
  2. 代码: 不同的位模式集合被用来表示一定的文本符号.这样的集合称之为代码
    1. 表示符号的过程称为编码
    2. 常用代码
      1. ASCII. 用7位表示每个符号. 现在ASCII 是 Unicode的一部分
      2. Unicode. 使用32位表达来自世界上不同语言的符号.

存储音频

  1. 文本和音频的区别
    1. 文本是数字数据的一个例子. 可以数出文字的数量.
    2. 音频是随时间变化的实体, 不可数. 只能在每一时刻度量声音的密度.
    3. 音频是模拟数据的例子. 即使能够在一段时间内度量所有值, 也不能全部存储在计算机内存中. 因为可能需要无限数量的内存单元.
  2. 采样
    1. 采样 意味着在模拟信号上选择数量有限的点度量并记录值.
    2. 采样率 样本数量依赖于模拟信号中变化的最大数量. 如果信号是平滑的, 需要很少的样本. 如果样本变化剧烈, 则需要更多的样本.
  3. 量化 将样本值截取为最接近的整数值的过程.如: 17.2截取为17, 17.7截取为18
  4. 编码 量化后的样本值被编码为位模式
    1. 每样本位/位深度 每个样本系统用多少位数据存储数据
    2. 位率 位率R=位深度B每秒样本数S. 如: 每秒40k个样本,每样本位是16, 位率R=40k16=640k b/s=640KB/s.
  5. 声音编码标准
    1. 有损压缩和无损压缩
    2. MPEG
    3. MP3(MPEG layer 3)(有损压缩) R=44100*16=705600 b/s

存储图像

存储图像在计算机中使用光栅图矢量图.

光栅图

对图像的采样称为扫描.
缺点: 文件体积太大. 放大图像会变得模糊.

  1. 解析度 图像处理中的扫描率(每英寸的符号或线条 需要记录多少像素)
  2. 色彩深度 用于表现像素的位的数量, 即色彩深度.人眼相应光线中的红, 绿, 蓝 三原色(RGB).
    1. 真彩色: 使用24位编码一个像素. 每个三原色用8位表示.
    2. 索引色: 使用8位索引编码一个像素. 从色彩集(真彩色)中选择一些颜色作为索引(通常是256种).
  3. 图像编码标准
    1. JPEG 使用真彩色(压缩图像减少位的使用)
    2. GIF 使用索引色

矢量图

矢量图不存储每个像素的位模式, 图像被分解为几何图形的组合, 几何形状用数学公式表达.
显示或打印图像时, 根据图像的尺寸重新设计图像大小并用相同的公式画出.
也被称为几何模型面向对象图形.

存储视频

视频是图像(称为)在时间上的表示.
换言之,视频是随空间(单个图像)和时间(一系列图像)变化的信息表现.
视频通常被压缩存储.

posted @ 2023-09-28 17:21  豫厨郭振兴  阅读(23)  评论(0)    收藏  举报