当前位置: 首页 > news >正文

【从零开始学习计算机科学】计算机组成原理(二)信息表示与编码

【从零开始学习计算机科学】计算机组成原理(二)信息表示与编码

  • 信息表示与编码
    • 进位计数制
      • 十进制(Decimal)
      • 二进制(Binary)
      • 十六进制(Hexadecimal)
      • 进位计数制之间的转换
    • 常用的信息分类与表示
    • 定点表示
    • 无符号数的编码
      • 正整数的表示
    • 原码表示法
      • 定点小数的原码表示
      • 定点整数的原码表示
    • 补码表示法
      • 模的概念
      • 补码的定义
      • 定点小数的补码表示
      • 定点整数的补码表示
    • 原码、补码之间的转换
    • 反码表示法
      • 定点小数的反码表示
      • 定点整数的反码表示
    • 移码表示法
      • 移码和补码的关系
      • 移码的特点
    • 定点数的表示方法总结
    • 浮点数的表示方法
      • 浮点数的规格化表示
      • 隐藏位技术
      • 规格化浮点数的真值
    • 十进制数的编码
    • 非数值数据
      • 字符的表示方法
      • 字符编码-ASCII 码
      • 字符编码-EBCDIC 码
      • 汉字的表示方法
  • 信息表示与编码
    • 进位计数制
      • 十进制(Decimal)
      • 二进制(Binary)
      • 十六进制(Hexadecimal)
      • 进位计数制之间的转换
    • 常用的信息分类与表示
    • 定点表示
    • 无符号数的编码
      • 正整数的表示
    • 原码表示法
      • 定点小数的原码表示
      • 定点整数的原码表示
    • 补码表示法
      • 模的概念
      • 补码的定义
      • 定点小数的补码表示
      • 定点整数的补码表示
    • 原码、补码之间的转换
    • 反码表示法
      • 定点小数的反码表示
      • 定点整数的反码表示
    • 移码表示法
      • 移码和补码的关系
      • 移码的特点
    • 定点数的表示方法总结
    • 浮点数的表示方法
      • 浮点数的规格化表示
      • 隐藏位技术
      • 规格化浮点数的真值
    • 十进制数的编码
    • 非数值数据
      • 字符的表示方法
      • 字符编码-ASCII 码
      • 字符编码-EBCDIC 码
      • 汉字的表示方法
      • 汉字的存储
      • 汉字的输出
      • 汉字编码与输入
      • 区位码、国标码与机内码的关系

信息表示与编码

进位计数制

进位计数制是指,用少量的数字符号,按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计数制。

在进位计数制中,基数是一个很重要的概念。基数是指进位制基本特征数,即所用到的数字符号个数。
在进位计数制中,我们可以用一个与基数相关的多项式来表示该进制下的任意一个数。

十进制(Decimal)

基数:10。

符号:0,1,2,3,4,5,6,7,8,9。

计算规律:逢十进一或借一当十。

十进制数的多项式表示:
N 10 = d n − 1 × 1 0 n − 1 + d n − 2 × 1 0 n − 2 + ⋯ + d 1 × 1 0 1 + d 0 × 1 0 0 + d − 1 × 1 0 − 1 + d − 2 × 1 0 − 2 + ⋯ + d − m × 1 0 − m N_{10}=d_{n-1} \times 10^{n-1} + d_{n-2} \times 10^{n-2} + \cdots + d_1 \times 10^1 + d_0 \times 10^0 + d_{-1} \times 10^{-1} + d_{-2} \times 10^{-2} + \cdots + d_{-m} \times 10^{-m} N10=dn1×10n1+dn2×10n2++d1×101+d0×100+d1×101+d2×102++dm×10m
其中 m,n 为正整数,其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 1 0 i 10^i 10i 称为该位的权。

二进制(Binary)

基数:2。

符号:0,1。

计算规律:逢二进一或借一。

二进制的多项式表示:
N 2 = d n − 1 × 2 n − 1 + d n − 2 × 2 n − 2 + ⋯ + d 1 × 2 1 + d 0 × 2 0 + d − 1 × 2 − 1 + d − 2 × 2 − 2 + ⋯ + d − m × 2 − m N_{2}=d_{n-1} \times 2^{n-1} + d_{n-2} \times 2^{n-2} + \cdots + d_1 \times 2^1 + d_0 \times 2^0 + d_{-1} \times 2^{-1} + d_{-2} \times 2^{-2} + \cdots + d_{-m} \times 2^{-m} N2=dn1×2n1+dn2×2n2++d1×21+d0×20+d1×21+d2×22++dm×2m
其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 2 i 2^i 2i 称为该位的权。

十六进制(Hexadecimal)

基数:16。

符号:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。

计算规律:逢十六进一或借一当十六。

十六进制的多项式表示:
N 16 = d n − 1 × 1 6 n − 1 + d n − 2 × 1 6 n − 2 + ⋯ + d 1 × 1 6 1 + d 0 × 1 6 0 + d − 1 × 1 6 − 1 + d − 2 × 1 6 − 2 + ⋯ + d − m × 1 6 − m N_{16}=d_{n-1} \times 16^{n-1} + d_{n-2} \times 16^{n-2} + \cdots + d_1 \times 16^1 + d_0 \times 16^0 + d_{-1} \times 16^{-1} + d_{-2} \times 16^{-2} + \cdots + d_{-m} \times 16^{-m} N16=dn1×16n1+dn2×16n2++d1×161+d0×160+d1×161+d2×162++dm×16m
其中 n 为整数位数;m 为小数位数。 D i D_i Di 表示第 i 位的系数, 1 6 i 16^i 16i 称为该位的权。

进位计数制之间的转换

  1. R进制转换成十进制的方法

按权展开法:先写成多项式,然后计算十进制结果。
N = d n − 1 × R n − 1 + d n − 2 × R n − 2 + ⋯ + d 1 × R 1 + d 0 × R 0 + d − 1 × R − 1 + d − 2 × R − 2 + ⋯ + d − m × R − m N = d_{n-1} \times R^{n-1} + d_{n-2} \times R^{n-2} + \cdots + d_1 \times R^1 + d_0 \times R^0 + d_{-1} \times R^{-1} + d_{-2} \times R^{-2} + \cdots + d_{-m} \times R^{-m} N=dn1×Rn1+dn2×Rn2++d1×R1+d0×R0+d1×R1+d2×R2++dm×Rm

  1. 十进制转换成二进制方法

方法1、分别对整数部分和小数部分采用两种不同的方法。

整数部分的转换采用除2取余法(基数除法)。除基取余法把给定的除以基数,取余数作为最低位的系数,然后继续将商部分除以基数,余数作为次低位系数,重复操作直至商为0。

小数部分的转换乘2取整法(基数乘法)。乘基取整法把给定的十进制小数乘以2,取其整数作为二进制小数的第一位,然后取小数部分继续乘以2,将所的整数部分作为第二位小数,重复操作直至得到所需要的二进制小数。

方法2、减权定位法。

减权定位法将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置1,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为0。

常用的信息分类与表示

信息存在数值信息与非数值信息,数值信息包括无符号数和有符号数,无符号数默认为正整数,有符号数分为定点数和浮点数。

在计算机中,正、负号与某进制数绝对值的形式称为真值。如 +3,-5 等,即实际值;符号以及数值都数码化的数称为机器数,如 X=01011,Y=1101,即真值在机器中的表示。

计算机中常用的数据表示格式有两种,定点格式与浮点格式。定点格式容许的数值范围有限,但要求的处理硬件比较简单。浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。

定点表示

定点表示约定机器中所有数据的小数点位置是固定不变的。(由于约定在固定的位置,小数点就不再使用记号“.”来表示)通常将数据表示成纯小数或纯整数。

因此,定点数就是指小数点位置固定不变的数。定点数分为定点整数和定点小数。定点整数是指小数点固定在最低位数的右面;定点小数是指小数点固定在最高位数的后面,即纯小数表示。

定点数表示的范围如下:

纯小数:
0 ≤ ∣ x ∣ ≤ 1 − 2 − n 0 \leq |x| \leq 1 - 2^{-n} 0x12n

纯整数:
0 ≤ ∣ x ∣ ≤ 2 n − 1 0 \leq |x| \leq 2^{n - 1} 0x2n1

目前计算机中多采用定点纯整数表示,因此我们将定点数表示的运算简称为整数运算。

无符号数的编码

正整数的表示

正整数可以表示为以下的位串:
x = x 0 x 1 x 2 … x n , x i = { 0 , 1 } , 0 ≤ i ≤ n x = x_0 x_1 x_2 \ldots x_n, \quad x_i = \{0,1\}, \quad 0 \leq i \leq n x=x0x1x2xn,xi={ 0,1},0in

x = x 0 ⋅ 2 n + x 1 ⋅ 2 n − 1 + … + x n − 1 ⋅ 2 1 + x n x = x_0 \cdot 2^n + x_1 \cdot 2^{n-1} + \ldots + x_{n-1} \cdot 2^1 + x_n x=x02n+x12n1++xn121+xn
其中 0 ≤ x ≤ 2 n + 1 − 1 0 \leq x \leq 2^{n+1} - 1 0x2n+11

例如,对于 x = 010101 x = 010101 x=010101,其数值为 2 4 + 2 2 + 2 0 = 21 2^4 + 2^2 + 2^0 = 21 24+22+20=21

在实际的数据处理的过程中,如不需要设置符号位可用全部字长来表示数值大小。如 8 位无符号数的取值范围是 0~255( 2 8 − 1 2^8 - 1 281)。

原码表示法

定点小数的原码表示

若定点小数的原码形式为 x 0 . x 1 x 2 ⋯ x n x_0.x_1 x_2 \cdots x_n x0

相关文章:

  • Ardupilot开源无人机之Geek SDK进展2025Q1
  • 用AI学习ANN人工神经网络2——什么是Transformer
  • Element使用
  • 力扣72题编辑距离
  • 【弹性计算】异构计算云服务和 AI 加速器(三):GPU 虚拟化技术
  • nuxt2 打包优化使用“compression-webpack-plugin”插件
  • Docker常用命令清单
  • python用户图形界面wxpython库安装与使用
  • S19文件格式详解:汽车ECU软件升级中的核心镜像格式
  • 谷歌浏览器中 Google 翻译无法使用的解决办法
  • AcWing 5538. 回文游戏 博弈论
  • 从零开始学机器学习——网络应用
  • Spring Batch 概览
  • 数据库---1.0
  • FY-3D MWRI亮温绘制
  • 【C++】深入理解C++模板:从原理到实践
  • VMware虚拟机迁移失败的故障排查方法
  • 关于Springboot 应配置外移和Maven个性化打包一些做法
  • 解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统
  • 【杂谈】-因果性:开启机器学习新纪元?
  • 种植耐旱作物、启动备用水源,甘肃各地多举措应对旱情
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 新版城市规划体检评估解读:把城市安全韧性摆在更加突出位置
  • 龚正市长调研闵行区,更加奋发有为地稳增长促转型,久久为功增强发展后劲
  • 秦洪看盘|缩量回踩,积蓄叩关能量
  • 泰山、华海、中路等山东险企综合成本率均超100%,承保业务均亏损