408第二轮复习记录 计算机组成原理(第二章 数据的表示和运算)(ALU部件有关)

数码与编制

定点数编码表示

根据小数点的位置是否固定,在计算机中有两种数据格式:定点表示和浮点表示。在现代计算机中通常用补码表示整数,原码表示浮点数的尾数部分,用移码表示浮点数结束部分

  • 原码表示法: 用机器数的最高位表示数的符号,其余各位表示数的绝对值 范围(-2^n , 2^n)
  • 补码表示法:补码表示法中加减法采用统一加法操作实现,正数的补码与原码相同,负数的补码等于模与该负数绝对值之差(补码与真值的相互转换,为正,补码与真值相同 符号位为负,数值位取反+1)
  • 变形补码法:双符号位的补码表示
  • 移码表示法:移码就是在真值X上加一个常数

C语言中的整数数据类型

char(8),short(16),int(32),long(64)中除char外都默认是有符号的,有符号和无符号都是补码形式

类型转换

  • 有符号数和无符号数的转换:强制类型转换的结果是保持位值不变,仅改变解释这些位的方式
  • 大字长变量向小字长变量转换的情况:系统把多余的高位部分直接截断,地位直接赋值
  • 小字长变量向大字长变脸转换的情况:若原数字是符号数则进行零扩展,否则进行符号扩展

运算方法和运算电路

定点数的加减运算

溢出判别方法

采用一位符号位
两同号数相加时,如果结果的符号与参与运算的操作数符号相反 ,则表明有溢出;
两异号数相减时,如果结果的符号与被减数的符号相反,则表明有溢出
采用两位符号位
10 负溢出说明运算结果为负数
01 正溢出说明运算结果为正数

采用一位符号位跟据数值位的进位情况判断
若符号位的进位与最高数位的进位相同说明无溢出,否则说明有溢出

加减法运算电路

请添加图片描述
不论是补码的减法还是无符号数减法,都是用被减数加上减数的负数的补码来实现的

  • 零标志ZF:ZF = 1表示结果为0,对有符号和无符号都有意义
  • 溢出标志OF:判断有符号是否溢出,OF = 1代表溢出,对无符号没有意义
  • 符号标志SF:表示结果的符号,对于无符号运算没有意义
  • 进借位运算SF:判断无符号是否溢出,对有符号号运算没有意义

定点数的移位运算

逻辑移位
逻辑移位的规则:左移时,高位移出,低位补0;右移时,低位移出,高位补0。
算术移位
左移时,高位移出,低位补0,若高位不同于移出后的符号,即左移后的前后符号位不同则发生溢出;右移时,低位溢出,高位补符号位,若低位的1移出,则影响精度

定点数的乘法运算

请添加图片描述

请在这里插入图片描述

定点数的除法运算

请添加图片描述

请添加图片描述

错题回顾

12题:相关知识点,模4补码:存储模4补码只需一个符号位,因为任何一个正确的数值,模4补码的两个符号位总是相同的,只在把ALU采用双符号位

浮点数的表示与运算

浮点数的表示格式

请添加图片描述

第0位为符号S;第1~7位为移码表示的阶码E第8~31为24位二进制的尾数M基数R为2

浮点数的规格化

  • 左规:当运算结果不是有效位时,需要进行左规
  • 右规:当运算结果的尾数的有效位进到小数点前面时需要右规

IEEE 754标准

格式符号位 (S)指数位 (E)尾数位 (M)指数偏置最小正值最大值
单精度 (32 位)1 位8 位23 位127约 1.175e-38约 3.402e+38
双精度 (64 位)1 位11 位52 位1023约 2.225e-308约 1.798e+308

单精度和双精度都使用隐藏尾数的方法因而浮点的精度更高,浮点的偏置值不是2^n而是 2^n - 1

IEEE754标准中阶码全为0或全为1时的特殊意义

  • 全0阶码全0尾数:+0/-0
  • 全1阶码全0尾数:正负∞
  • 全1阶码非0尾数:NaN
  • 全0阶码非0尾数:非规格数,非规格数的隐藏数为0,单精度和双精度浮点数的指数分别为-126和-1022,非规格数可以处理阶码下溢

浮点数的加减运算

  1. 对阶
  2. 尾数加减
  3. 尾数规格化
  4. 舍入
    • 就近舍入
    • 正向舍入
    • 负向舍入
    • 截断法
  5. 溢出判断
    • 指数上溢(指数超过127或123) 指数下溢( 指数小于最小允许值)
    • 右规可能导致上溢,左规可能导致下溢

C语言的浮点数类型

char ->int - > long -> double 和float ->double没有损耗

  • int -> float 可能会损失精度
  • double - > float 可能会溢出和损失精度
  • float -> int 只保留整数部分,同时可能会溢出

数据的大小端和对齐存储

数据的“大端方式”和“小端方式”存储

  • 大端方式:先存储高位字节,后存储低位字节
  • 小端方式:先存储低位字节,后存储高位字节

数据按边界方式对齐

在c语言边界对齐右两个重要要求:每个成员按其类型的大小对齐,struct 的长度必须时成员中最大对齐值的整数倍

错题回顾

  1. 13 题 规格化的浮点数与非规格化的浮点数相比增加了表示精度
  2. 25 题 只有对阶和右规时需要舍入
  3. 37 题:对于规格数来说最大整数是(2 - 2^-23)*2 ^ 128
  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值