《231_浮点数的表示-精品文档资料整理.pdf》由会员分享,可在线阅读,更多相关《231_浮点数的表示-精品文档资料整理.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2020/7/12王道考研/1本节内容王道考研/CSKAOYAN.COM浮点数的表示1王道考研/CSKAOYAN.COM本节总览本节总览2公众号:考研拼课 配套课程请关注2020/7/12王道考研/2王道考研/CSKAOYAN.COM定点数的局限性定点数的局限性我的财富:- 8540 马云的财富:+302657264526 定点数可表示的数字范围有限,但我们不能无限制地增加数据的长度如果换一种货币:1 人民币 10000000000 津巴布韦币8B long型也表示不了如何在位数不变的情况下增加数据表示范围?2B 定点整数 short 即可表示4B 定点整数 int.都表示不了3王道考研/CS
2、KAOYAN.COM从科学计数法理解浮点数从科学计数法理解浮点数+302657264526+3.026 * 1011普通计数法:科学计数法:+11 +3.0261 人民币 1010津巴布韦币+21 +3.026阶码尾数阶码反映数值大小尾数反映精度4公众号:考研拼课 配套课程请关注2020/7/12王道考研/3王道考研/CSKAOYAN.COM浮点数的表示浮点数的表示r 进制: !# $#%= !&+ !#+ + $+ #+ %#$ +#+ $+ + 定点数:如纯小数0.1011和纯整数11110浮点数:=EN rM浮点数的真值:阶码尾数阶码的底,通常为2类比十进制:+30265726452
3、6 = +3.026 * 10+11可记为:+11 +3.026阶码E反映浮点数的表示范围表示范围及小数点的实际位置;尾数M的数值部分的位数n反映浮点数的精度精度。阶码:常用补码或移码表示的定点整数尾数:常用原码或补码表示的定点小数尾数给出一个小数,阶码指明了小数点要向前/向后移动几位。5王道考研/CSKAOYAN.COM浮点数的表示浮点数的表示r 进制: !# $#%= !&+ !#+ + $+ #+ %#$ +#+ $+ + 定点数:如纯小数0.1011和纯整数11110浮点数:=EN rM浮点数的真值:阶码尾数阶码的底,通常为2例:阶码、尾数均用补码表示,求a、b的真值a = 0,0
4、1;1.1001b = 0,10;0.01001阶码E反映浮点数的表示范围表示范围及小数点的实际位置;尾数M的数值部分的位数n反映浮点数的精度精度。00111001阶码:常用补码或移码表示的定点整数尾数:常用原码或补码表示的定点小数a: 阶码0,01对应真值+1尾数1.1001对应真值-0.0111 = - (2$+ 2(+ 2)a的真值 = 2#(0.0111) = 0.1111B的存储空间相当于尾数表示的定点小数算数左移一位,或小数点右移一位6公众号:考研拼课 配套课程请关注2020/7/12王道考研/4王道考研/CSKAOYAN.COM浮点数的表示浮点数的表示r 进制: !# $#%=
5、!&+ !#+ + $+ #+ %#$ +#+ $+ + 定点数:如纯小数0.1011和纯整数11110浮点数:=EN rM浮点数的真值:阶码尾数阶码的底,通常为2例:阶码、尾数均用补码表示,求a、b的真值a = 0,01;1.1001b = 0,10;0.01001阶码E反映浮点数的表示范围表示范围及小数点的实际位置;尾数M的数值部分的位数n反映浮点数的精度精度。01000100阶码:常用补码或移码表示的定点整数尾数:常用原码或补码表示的定点小数b: 阶码0,10对应真值+2尾数0.01001对应真值+0.01001 = + (2$+ 2*)b的真值 = 2$(+0.01001) = +
6、1.0011B的存储空间相当于尾数表示的定点小数算数左移2位,或小数点右移2位17王道考研/CSKAOYAN.COM浮点数尾数的规格化浮点数尾数的规格化浮点数:=EN rM浮点数的真值:阶码尾数阶码的底,通常为2阶码E反映浮点数的表示范围表示范围及小数点的实际位置;尾数M的数值部分的位数n反映浮点数的精度精度。阶码:常用补码或移码表示的整数尾数:常用原码或补码表示的小数b = 2$(+0.01001)= 2#(+0.10010)00101001+302657264526 = +3.026 * 10+11可记为:+11 +3.026也可记为: +14 +0.003尾数的最高位是无效值,会丧失精度
7、例:阶码、尾数均用补码表示,求a、b的真值a = 0,01;1.1001b = 0,10;0.0100101000100b: 阶码0,10对应真值+2尾数0.01001对应真值+0.01001 = + (2$+ 2*)所以b = 2$(+0.01001) = +1.0011B的存储空间1尾数算数左移1位,阶码减1。直到尾数最高位是有效值(左规)8公众号:考研拼课 配套课程请关注2020/7/12王道考研/5王道考研/CSKAOYAN.COM浮点数尾数的规格化浮点数尾数的规格化规格化浮点数:规定尾数的最高数值位必须是一个有效值 。左规:当浮点数运算的结果为非规格化时要进行规格化处理,将尾数算数左
8、移一位,阶码减1。右规:当浮点数运算的结果尾数出现溢出(双符号位为01或10)时,将尾数算数右移一位,阶码加1。例:a = 010;00.1100,b = 010;00.1000,求a+ba = 2$00.1100 ,b = 2$00.1000a+b = 2$00.1100 + 2$00.1000= 2$(00.1100 + 00.1000)= 2$01.0100= 2(00.101001101010右规通过算数左移、阶码减1 来规格化通过算数右移、阶码加1 来规格化注:采用“双符号位” ,当溢出发生时,可以挽救。更高的符号位是正确的符号位9王道考研/CSKAOYAN.COM规格化浮点数的特点
9、规格化浮点数的特点1. 用原码表示的尾数进行规格化:正数为0.1的形式,其最大值表示为0.111;最小值表示为0.100。尾数的表示范围为1/2M(12n)。负数为1.1的形式,其最大值表示为1.100;最小值表示为1.111。尾数的表示范围为(12n)M1/2。2. 用补码表示的尾数进行规格化:正数为0.1的形式,其最大值表示为0.111;最小值表示为0.100。尾数的表示范围为1/2M(12n)。负数为1.0的形式,其最大值表示为1.011;最小值表示为1.000。尾数的表示范围为1M(1/2+2n)。当作机器0规格化的补码尾数,符号位与最高数值位一定相反eg:若某浮点数的阶码、尾数用补码表示,共4+8位:0.110;1.1110100 如何规格化?注:补码算数左移,低位补0;补码算数右移,高位补1。异常异常规格化的原码尾数,最高数值位一定是110公众号:考研拼课 配套课程请关注2020/7/12王道考研/6王道考研/CSKAOYAN.COM知识点回顾知识点回顾阶码、尾数用什么码?各取多少位比较合适?11公众号:考研拼课 配套课程请关注
限制150内