1. 机器数与真值
  • 输入数据后,以二进制的形式储存在计算机
  • 二进制的表示形式为机器数
  • 带有符号的对应数据称为机器数的真值
  • 机器数的特点
    • 符号的数值化:规定以最高位为符号位,用0来表示正数,1表示负数
    • 计算机中只表示整数或纯小数
    • 机器数所表示的数值范围有限
2. 二进制原码、反码、补码
  • 二进制中正数的原码、反码、补码表示形式相同
  • 原码
    • 原码实际上是数值化的符号位加上真值的绝对值
    • 正零:[+0] =0000 0000 ,负零[-0] = 1000 0000
    • 数值范围
最小编码 [-0] [+0] 最大编码
1111 1111 1000 0000 0000 0000 0111 1111
-127 -0 +0 127
  • 反码
    • 负数的反码对其原码除符号位以外逐位取反得到
    • 正零 [+0] =0000 0000 ,负零[-0] = 1111 11111
    • 反码的反码即为原码
    • 反码仅作为补码的过度
最小编码 [-0] [+0] 最大编码
1000 0000 1111 11111 0000 0000 0111 1111
-127 -0 +0 127
  • 补码
    • 补码是计算机处理有符号数运算的常用的方法
    • 负数的反码位原码取反末位加1
    • 补码没有正负零之分,[±0] = 0000 0000 。八位二进制补码1000 0000表示 -128
    • 一个数的补码的补码就是原码本身
最小编码 -6 [0] 最大编码
1000 0000 1111010 0000 0000 0111 1111
-128 -6 0 127

3. 定点数与浮点数

二进制的运算中有整数还有小数

    1.定点数
  • 定点整数:约定机器数的小数点在机器数的最右端,称定点小数
  • 顶点小数:约定计算数的小数点在符号位之后,有效值部分的最高位之前,我们称为纯小数
进制的运算
    2. 浮点数

IEEE标准,浮点数是通过科学计数法来存储,将一个二进制数N移动小数点到左边第一个非零数之后得到纯小数M,所移动的位数用2的e次方幂表示,2的e次方*2的P次方,其中p代表不同精度的偏移量
得浮点数 N=1.M * 2e+P2^{e+P}

  • 以十进制数187.125为例
    将十进制数转换为二进制数 187.125(D)=1011 1011 . 001(B)
    将小数点移动左边第一个非零数之后得: 1.0111 0110 01 * 272 ^{ 7} 其中7代表小数点向左移动了七位
    加上单精度的固定偏移量127
    得浮点数 1.0111 0110 01 * 21342 ^{ 134}
  • 187.125在计算机中的存储形式为
符号位 阶码 尾数
0 1000 0110 0111 0110 0100 0000 0000 000
  • 32位单精度与64位双精度的比较
精度 符号位 阶码 尾数 偏移量 有效数字位
32 1 8 23 127 7~8
64 1 11 52 1023 15~16
进制的运算

4. 二进制的运算

  1. 定点数的加减法运算
  • 使用补码进行加减运算,将符号位也已一起参加加减运算,运算时最高位的进位省略
  • 运算公式X+Y = [ [X]补 + [Y] 补 ] 补
          进制的运算

相关文章:

  • 2021-12-10
  • 2022-01-13
  • 2021-11-30
  • 2021-12-30
  • 2021-06-07
  • 2021-05-16
  • 2022-01-04
  • 2021-12-24
猜你喜欢
  • 2021-08-27
  • 2021-11-30
  • 2022-02-07
  • 2021-11-01
相关资源
相似解决方案