0
点赞
收藏
分享

微信扫一扫

数据的表示和运算


数据的表示和运算

进位计数制

数据的表示和运算_反码

有1到9,共十种符号

逢十进一

数据的表示和运算_反码_02

数据的表示和运算_计算机组成原理_03

计算机使用二进制的原因:

  1. 可使用两个稳定状态的物理器件表示
  2. 0,1正好对应逻辑值假、真。方便实现逻辑运算
  3. 可很方便地使用逻辑门电路实现算术运算

任意进制—>十进制

数据的表示和运算_反码_04

二进制转八进制、十六进制

数据的表示和运算_浮点数_05

各种进制的常见书写方式

数据的表示和运算_补码_06

十进制转任意进制

数据的表示和运算_补码_07

数据的表示和运算_浮点数_08

真值和机器数

数据的表示和运算_浮点数_09

真值:符合人类习惯的数字

机器数:数字实际存到机器的形式,正负号需要被“数字化”

BCD码

8421码的映射关系:

数据的表示和运算_反码_10

数据的表示和运算_反码_11

数据的表示和运算_浮点数_12

1101不在映射表里

8421码中1010~1111没有定义

如果出现在(1010~10010)范围里则+6(0110)

数据的表示和运算_计算机组成原理_13

数据的表示和运算_计算机组成原理_14

无符号的整数的表示和运算

无符合整数,即“自然数”,0、1、2、3、4…

C语言中的无符号整数

unsigned short a=1;  //无符号整数(短整型,2B)
unsigned int b=2; //无符号整数 (整型,4B)

无符号整数的表示

数据的表示和运算_计算机组成原理_15

无符号整数:

  1. 全部二进制位都是数值位,没有符号位,第i位的位权是2的i-1次方
  2. n bit 无符号整数表示范围0~2的n次方-1,超出则溢出,意味着该计算机无法一次处理这么多
  3. 可以表示的最小的数全0,可以表示的最大的数全1

无符号整数的加法运算

数据的表示和运算_补码_16

计算机硬件如何做无符号整数的加法:从最低位开始,按位相加,并往更高位进位

数据的表示和运算_反码_17

计算机硬件如何做无符号整数的减法:

  1. “被减数”不变,“减数”全部位按位取反、末位+1,减法变加法
  2. 从最低位开始,按位相加,并往更高位进位

数据的表示和运算_反码_18

数据的表示和运算_补码_19

带符号整数在计算机中的应用

带符号整数,即“整数”,-2,-1,0,1,2,3,4…

C语言中的带符号整数:

short a=1;//带符号整数(短整型,2B)
int b=-2;//带符号整数(整型,4B)

原码表示

数据的表示和运算_反码_20

原码:

  • 符号位“0/1”对应“正/负”,剩余的数值位表示真值的绝对值
  • 若机器字长n+1位,带符号整数的原码表示范围-(2的n次方-1)~2的n次方-1
  • 真值0有两种形式:+0和-0,[+0] = 0,0000000; [-0] = 1,0000000

原码的缺点:符号位不能参与运算,需要设计复杂的硬件电路才能处理

用补码表示真值–符号位可以参与运算

原码->反码->补码的转换

数据的表示和运算_补码_21

原码、补码 快速转换技巧

数据的表示和运算_反码_22

补码的加法运算

数据的表示和运算_反码_23

数据的表示和运算_浮点数_24

补码的减法运算

数据的表示和运算_反码_25

数据的表示和运算_反码_26

计算机硬件如何做带符号数补码的减法:

  1. “被减数”不变,“减数”全部位按位取反、末位+1,减法变加法
  2. 从最低位开始,按位相加,并往更高位进位

数据的表示和运算_浮点数_27

原反补码的特性对比

数据的表示和运算_计算机组成原理_28

原码和反码的合法表示范围完全相同,都有两种方法表示真值0

补码的合法表示范围比原码多一个负数,只有一种方法表示真值0

移码

原、反、补、移码的转换

数据的表示和运算_浮点数_29

移码:补码的基础上将符号位取反。注意:移码只能用于表示整数

数据的表示和运算_反码_30

数据的表示和运算_浮点数_31

各种码的基本特性总结

数据的表示和运算_补码_32

原码和反码的合法表示范围完全相同,都有两种方法表示真值0

补码的合法表示范围比原码多一个负数,只有一种方法表示真值0

移码的合法表示范围比原码多一个负数,只有一种方法表示真值0

用几种码表示整数

数据的表示和运算_浮点数_33

定点整数、定点小数

数据的表示和运算_反码_34

原码

数据的表示和运算_补码_35

定点小数原/反/补码的转换

数据的表示和运算_补码_36

定点小数的加/减运算

对两个定点小数A、B进行加法/减法时,需要先转换为补码

计算机硬件如何做定点小数补码的加法:从最低位开始,按位相加(符号位参与运算),并往更高位进位

计算机硬件如何做定点小数补码的减法:

  1. “被减数”不变,“减数”全部位按位取反、末位+1,减法变加法
  2. 从最低位开始,按位相加,并往更高位进位

定点小数VS定点整数

数据的表示和运算_补码_37

位数扩展时,扩展位置不一样

数据的表示和运算_补码_38

小数补码的加法运算

数据的表示和运算_补码_39

计算机硬件如何做补码的加法:从最低位开始,按位相加(符号位参与运算),并往更高位进位

数据的表示和运算_反码_40

数据的表示和运算_反码_41

奇偶校验码

奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数

偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数

数据的表示和运算_计算机组成原理_42

数据的表示和运算_计算机组成原理_43

电路的基本原理、加法器设计

算术逻辑单元(ALU)

数据的表示和运算_计算机组成原理_44

最基本的逻辑运算

数据的表示和运算_浮点数_45

数据的表示和运算_浮点数_46

复合逻辑

数据的表示和运算_补码_47

一位全加器

数据的表示和运算_补码_48

串行加法器

数据的表示和运算_反码_49

并行加法器

数据的表示和运算_浮点数_50

并行加法器的优化

数据的表示和运算_反码_51

补码加减运算器

加法器原理

数据的表示和运算_反码_52

补码加/减法运算方法

数据的表示和运算_计算机组成原理_53

数据的表示和运算_浮点数_54

标志位生成

数据的表示和运算_反码_55

数据的表示和运算_反码_56

定点数的移位运算

数据的表示和运算_计算机组成原理_57

移位:通过改变各个数码位和小数点的相对位置,从而改变各数码位的位权。可用移位运算实现乘法、除法

原码的算数移位

数据的表示和运算_反码_58

数据的表示和运算_补码_59

原码的算数移位–符号位保持不变,仅对数值位进行移位

右移:高位补0,低位舍弃。若舍弃的位=0,则相当于/2;若舍弃的位≠0,则会丢失精度

左移:低位补0,高位舍弃。若舍弃的位=0,则相当于*2;若舍弃的位≠0,则会出现严重误差

定点小数同理

反码的算数移位

数据的表示和运算_反码_60

反码的算数移位–正数的反码与原码相同

因此对正数反码的移位运算也和原码相同

右移:高位补0,低位舍弃

左移:低位补0,高位舍弃

反码的算数移位–负数的反码数值位与原码相反

因此负数反码的移位运算规则如下

右移:高位补1,低位舍弃

左移:低位补1,高位舍弃

补码的数移位

数据的表示和运算_计算机组成原理_61

补码的算数移位–正数的补码与原码相同

因此对正数补码的移位运算也和原码相同

右移:高位补0,低位舍弃

左移:低位补0,高位舍弃

补码的算数移位–负数补码=反码末位+1

导致反码最右边几个连续的1都因进位而变为0,

直到进位碰到第一个0为止

规律–负数补码中,最右边的1及其右边同原码。

最右边的1的左边同反码

负数补码的算数移位规则如下:

右移(同反码):高位补1,低位舍弃

左移(同原码):低位补0,高位舍弃

算数移位

数据的表示和运算_补码_62

原码乘法运算

数据的表示和运算_浮点数_63

数据的表示和运算_反码_64

数据的表示和运算_反码_65

数据的表示和运算_补码_66

数据的表示和运算_计算机组成原理_67

数据的表示和运算_补码_68

数据的表示和运算_补码_69

数据的表示和运算_补码_70

数据的表示和运算_反码_71

数据的表示和运算_浮点数_72

数据的表示和运算_反码_73

数据的表示和运算_计算机组成原理_74

数据的表示和运算_计算机组成原理_75

补码乘法运算

数据的表示和运算_补码_76

数据的表示和运算_补码_77

数据的表示和运算_反码_78

原码的除法运算

手算除法

数据的表示和运算_浮点数_79

手算除法(二进制)

数据的表示和运算_计算机组成原理_80

原码除法:恢复余数法

数据的表示和运算_反码_81

数据的表示和运算_补码_82

数据的表示和运算_补码_83

数据的表示和运算_补码_84

数据的表示和运算_反码_85

数据的表示和运算_反码_86

数据的表示和运算_计算机组成原理_87

数据的表示和运算_反码_88

数据的表示和运算_反码_89

数据的表示和运算_补码_90

数据的表示和运算_浮点数_91

数据的表示和运算_补码_92

数据的表示和运算_计算机组成原理_93

数据的表示和运算_补码_94

数据的表示和运算_反码_95

数据的表示和运算_反码_96

数据的表示和运算_反码_97

数据的表示和运算_反码_98

数据的表示和运算_补码_99

原码除法:恢复余数法(手算)

数据的表示和运算_浮点数_100

数据的表示和运算_计算机组成原理_101

原码除法:加减交替法(不恢复余数法)

数据的表示和运算_浮点数_102

数据的表示和运算_计算机组成原理_103

定点数 补码除法运算

补码除法:加减交替法

数据的表示和运算_补码_104

数据的表示和运算_计算机组成原理_105

强制类型转换

无符号数与有符号数;不改变数据内容,改变解释方式

short x=-4321;

unsigned short y=(unsigned short) x;

x:1110 1111 0001 1111 = -4321

y:1110 1111 0001 1111 = 61215

长整数变短整数;高位截断,保留低位

短整数变长整数;符号扩展

short x=-4321;

int m=x;

unsigned short n=(unsigned short)x;

unsigned int p=n;

x:1110 1111 0001 1111

m:1111 1111 1111 1111 1110 1111 0001 1111 真值-4321

n:1110 1111 0001 1111 真值

p:0000 0000 0000 0000 1110 1111 0001 1111 真值61215

数据的存储和排列

大小端模式

数据的表示和运算_浮点数_106

边界对齐

现代计算机通常是按字节编址,即每个字节对应1个地址

通常也支持按字、按半字、按字节寻址

假设存储字长为32位,则1个字=32bit,半字=16bit,每次访存只能读/写1个字

数据的表示和运算_计算机组成原理_107

浮点数的表示

从科学计数法理解浮点数

数据的表示和运算_补码_108

浮点数:

数据的表示和运算_计算机组成原理_109

阶码E反映浮点数的表示范围及小数点的实际位置

尾数M的数值部分的位数n反映浮点数的精度

尾数给出一个小数,阶码指明了小数点要向前/向后移动几位

例:阶码、尾数均用补码表示,求a、b的真值

a= 0 01 1.1001

a的阶码真值为 1

尾数的原码为 1.0111 对应真值为 -0.0111

a的真值为 2的1次方*(-0.0111)=-0.111

b= 0 10 0.01001

b的阶码真值为 2

尾数的原码为 0.01001 对应真值为 0.01001

b的真值为 2的2次方*0.01001=1.001

浮点数尾数的规格化

数据的表示和运算_补码_110

数据的表示和运算_计算机组成原理_111

规格化浮点数:规定尾数的最高数值位必须是一个有效值

左规:当浮点数运算的结果为非规格化时要进行规格化处理,将尾数算数左移一位,阶码减1

右规:当浮点数运算的结果尾数出现溢出(双符号位为01或10),将尾数算数右移一位,阶码加1

数据的表示和运算_反码_112

规格化浮点数的特点

1.用原码表示的尾数进行规格化:

规格化的原码尾数,最高数值位一定是1

正数为0.1XX…X的形式,其最大值表示为0.11…1;最小值表示为0.10…0。
尾数的表示范围为1/2<=M<=(1-2的负n次方)

负数为1.1XX…X的形式,其最大值表示1.10…0;最小值表示为1.11…1
尾数的表示范围为-(1-2的负n次方)<=M<=-1/2

2.用补码表示的尾数进行规格化:

规格化的补码尾数,符号位与最高数值位一定相反

正数为0.1XX…X的形式,其最大值表示为0.11…1;最小值表示为0.10…0。
尾数的表示范围为1/2<=M<=(1-2的负n次方)

负数为1.0XX…X的形式,其最大值表示1.01…0;最小值表示为1.00…0
尾数的表示范围为-1<=M<=-(1/2+2的负n次方)

数据的表示和运算_反码_113

IEEE754

移码

移码:补码的基础上将符号位取反。注意:移码只能用于表示整数

数据的表示和运算_浮点数_114

移码的定义:移码=真值+偏置值

此处8位移码的偏置值=128D=1000 0000B

数据的表示和运算_补码_115

IEEE754标准

数据的表示和运算_浮点数_116

数据的表示和运算_浮点数_117

数据的表示和运算_补码_118

数据的表示和运算_反码_119

数据的表示和运算_反码_120

浮点数的运算

浮点数加减运算步骤:

1.对阶、2.尾数加减、3.规格化、4.舍入、5.判溢出

数据的表示和运算_反码_121

数据的表示和运算_浮点数_122

舍入

数据的表示和运算_补码_123


举报

相关推荐

0 条评论