数据的运算
机器数
计算机中参与运算的数分为两类:有符号数和无符号数
有符号数:即带有正负号的数,一般是最高位表示符号位,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的功能和结构