• 计算机组成原理——第二章 运算方法和运算器(笔记)


    2.1 数据与文字的表示方法


    1. 浮点表示法(IEEE754标准)

    (1)32位浮点数:

    x = (-1)^s * (1.M) *2^(E-127)  e=E-127

    (2) 64位浮点数:

    x = (-1)^s * (1.M) *2^(E-1023)  e=E-1023

    其中,s:符号位,M:尾数,E:阶码,*:乘。

    s = 0:表示正数,s = 1:表示负数。

    在用浮点数表示时,如果是转换成二进制,会出现乘法,有个小公式:一个二进制小数乘以2^n = 原始数小数点左移n位(n是正整数)。

    2. 数的机器码表示

    (1)原码表示法:

    正数符号位为 0 ,负数符号位为 1。

    原码机器中有+0 和 -0之分,所以,[+1]原码 = 000...000,[-1] = 100...000,第一位为符号位。

    (2)补码表示法:

    正整数补码=原码。

    负整数补码 = 符号位:1 + 数值位取反加1。

    (3)移码表示法:

    移码通常用于表示浮点数的阶码,移码 = 补码符号位取反。

    2.2 定点加法和减法运算

    (1)补码加法

    [x]补 + [y]补 = [x+y]补   (mod 2^(n+1))

    补码的加法运算,符号位一定要参与运算,超过 2^(n+1)的进位要丢掉。补码减法转换为加法运算后也是一样的。

    (2)补码减法

    [x-y]补 = [x]补 - [y]补 = [x]补 + [-y]补

    (3)溢出的检测方法:

    双符号位检测:符号位变为两位参与运算。

    正数符号位:00,负数符号位:11。

    运算结果符号位为 01:表示正溢出/上溢。

    运算结果符号位为 10:表示负溢出/下溢。

  • 相关阅读:
    3.3 x86指令简介
    8.2 DRAM和SRAM
    7.2 流水线的优化
    8.3 主存的工作原理
    matlab练习程序(ACF/PACF系数计算)
    Github——常用命令介绍
    Mac上永久修改默认Python版本
    FIO – IO压力测试工具 规格严格
    postgresqlco.nf 规格严格
    pg9.6单纯写性能探索 规格严格
  • 原文地址:https://www.cnblogs.com/ZZG-GANGAN/p/12392457.html
Copyright © 2020-2023  润新知