数据的运算

机器数

计算机中参与运算的数分为两类:有符号数无符号数

有符号数:即带有正负号的数,一般是最高位表示符号位,0表示正,1表示负

无符号数:即没有正负号的数字,例如内存的地址就是个无符号数

原码,反码,补码,移码

原码:最高位表示符号位,后面表示数据位

0的原码有 0 0000 和 1 0000 两种

反码:符号位不变,正数不变,负数数据位取反

补码:补码正数不变,负数就是反码加1

技巧:负数补码,符号位不变,遇到第一个1之前什么都不做,遇到1之后按位取反

移码: 补码的符号位取反

正数的原码反码补码都是一样的

机器数的定点表示

什么是定点数字?即约定小数点位置的数,规定了小数点位置之后,就可以省去写小数点所占用的空间了,以后只要按规范来取就可以

定点小数

约定小数点在符号位后,在最高有效位之前

纯小数: 符号位 . 尾数

假设用n位表示数据位,1位来表示符号位,则

符号位 数据位全1真值
0表示是一个正小数 1-2^-n
1表示是一个负小数 -(1-2^-n)

定点整数

约定小数点在有效位最低位之后

纯整数: 符号位 尾数 .

假设用n位表示数据位,1位来表示符号位,则

符号位 数据位全1真值
0表示是一个正整数 2^n-1
1表示是一个负整数 -(2^n-1)

定点数的运算

移位运算

移位运算又分为算数位移和逻辑位移

算术位移是符号位不变,移动

原码定点数的加减运算

补码定点数的加减碳运算

定点数的乖/除运算

溢出概念

机器数的浮点表示

浮点数的运算

浮点数的表示:IEEE754标准,浮点数的加减运算

算术逻辑单元(ALU)

中行加法器和并行加法器:ALU的功能和结构