可以做微信公众号封面的网站/网站在线客服系统 免费
第1章_微型计算机的基础知识_复习用
溢出问题的解决 扩充数的表示位数,即扩大数的表示范围 但必须注意扩充的原则:数位的扩展不能改变数值的大小,只能改变数的表示位数 正数扩展:高位全部加0 负数扩展:高位全部加1 -70 ? 补? (1111111110111010)补 数的表示位数的扩充例 x=+73: [x]原=[x]反=[x]补=0100 1001 扩充为16位后为:0000 0000 0100 1001 x=-73: [x]原 = 1100 1001,扩充为16位后为:1000 0000 0100 1001 [x]反 = 1011 0110,扩充为16位后为:1111 1111 1011 0110 [x]补 = 1011 0111,扩充为16位后为:1111 1111 1011 0111 总结计算机中数的运算问题 ◆ 将参加运算的操作数用补码表示 ◆ 进行加法得到两数和的补码;符号位作为数的一部分也参加运算 ◆ 判断是否溢出;若没有溢出,则可进一步求和的真值: ▼和为正数,可直接求出 ▼和为负数,则再次求补,最后得到真值 实数问题的讨论 以上的讨论都以整数为对象 实数的问题将更加复杂 数值的一般表示形式 N=(-1)J*S*2P 当阶码P为固定值时,称为定点数 当阶码P为非固定数值时,称为浮点数 浮点数的表示方法和计算问题都将更加复杂 定点数表示 参与运算的数的小数点位置固定不变 小数点位固定在最后一位之后称为定点整数 小数点固定在最高位之后称为定点小数 对于有符号数,小数点在符号位与有效位之间 由于小数点位置固定,故运算中可不再考虑小数问题 定点整数 小数点位固定在最后一位之后称为定点整数 若机器字长为n+1位,对于有符号数,数值表示为: X=X0X1X2...Xn 其中Xi={0,1},0≤i≤n 即 (-1)^X0 * (X1*2(n-1) + X2*2(n-2) + ... + Xn-1*21 + Xn*20 ) 数值范围是 -2(n-1)≤X≤2(n-1) 例如:1111表示-7 定点整数 若机器字长为n+1位,对于无符号数,数值表示为: X=X0X1X2...Xn 其中Xi={0,1}, 0<=i<=n 即 X0*2n + X1*2(n-1) + X2*2(n-2) + ... + Xn-1*2 + Xn 数值范围是 0≤X≤2(n+1) - 1 例如:1111表示15 定点小数 小数点固定在最高位之后称为定点小数 若机器字长为n+1位,对于有符号数,数值表示为: X=X0.X1X2...Xn,其中Xi={0,1},0≤i≤n X0不表示数字,只表示符号 X0=0,则代表 X=0.X1X2...Xn X0=1,则代表 X=-0.X1X2...Xn) 即 (-1)^X0 * (X1*2(-1) + X2*2(-2) + ... + Xn-1*2(-n+1) + Xn*2(-n)) 数值范围是 -(1-2(-n))≤X≤1-2(-n) 例如:1111表示-0.875 定点小数 若机器字长为n位,对于无符号数,数值表示为: X=0.X1X2...Xn Xi={0,1},1≤i≤n 即 X1*2(-1) + X2*2(-2) + ... + Xn-1*2(-n+1) + Xn*2(-n) 数值范围是 0≤X≤1-2(-n) 例如:111表示0.875 浮点数表示 浮点数中小数点的位置是不固定的 需要用数符、阶码和尾数共同表示一个数 尾数为定点小数,表示有效数字 阶码为定点整数,表示小数点的位置 数符表示表示数的正负性质 N= 数符?尾数?2阶码 尾数的位数决定数的精度 阶码的位数决定数的范围 阶码 数符 尾数 定点整数 定点小数 单精度与双精度浮点数 单精度浮点型(float) 使用32位二进制数码表示数 阶码—8位;数符—1位;尾数—23位 双精度浮点型 (double) 使用64位二进制数码表示数 阶码—11;数符—1位;尾数—52位 单精度浮点数的例 计算机实际存储的数据为 0 110011001100110 符号位:(最左侧1位) S=0,表示是个正数 指数: (左侧第2-9位) E(126)10 所以 e=E-127=-1 尾数; (最后的23位) M=110011001100110 m=(1.M)2=(1.799999952316