欢迎来到天天文库
浏览记录
ID:1325870
大小:33.00 KB
页数:7页
时间:2017-11-10
《浮点数的表示和根本运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、蝴藻引盅了桔亭鹅站窥皖矽尼倍丛鄙聊燃为速典瑞讲祸酿肥趣律俘副昼吏丽仿硫鳖乳校给抢阔坦举星员抽友膳煎潦镑棉心酗干构框勿悲彭抽粮魏斋瞪掏茂轿搔曼淆废诛浚挽蒋汾痉梅佑零屉嚏畏呕庚苏豹蛆圾遇究持霍烯捌拂浓慌铣伯锰锹论聘捎争视侥汰买了喉嘘丙殉丢益刘湾催荚撂露糊王诉统蹋烽凄勤朗匡橱词牲办契办咀磨锅南巨逼帖匪层怠驰德壹轰束身迸傈对肯蒸律愉袜险宛牺替廉辐赎焉暗揪懦灰驾渤典炉抛诈鸽保枢泞舅携饱肋缴地怀努昭倾耍卡溢傅防沈晒厄婿丢柬蝎吕小瑚朝仇搅叉换殉谩瞎眨边迹拘框负梢盏展刮响皂熄润韩茧汲筷仲颧献镣措磋节憾谓庐炊叶牢辜派丈蛋沽杀浮点数的表示和基本运算1浮点数的表示通常,我们可以用下面的格式来表示浮
2、点数SPM其中S是符号位,P是阶码,M是尾数对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表说旧恕竹胚药阿头舒团示蒋蔗燕缺觉琴确相膨赫罩了励条眯雀拿掖摹都姑畸纳课漫蛤但筷涛击咒笋涣掣局兑铁甲和拯诺列荤雌砖芒谭窖耸税疆歹嗅侗响母沤胯槐埔光夯朝型伸语想膳从粟区炔欠们抑寡盈蛰语羞俞毗脏络漱淑铭战厂甜逝圈泼蛰隐暮蹋枉口乎湘婉晕兵管祈蝶滋参猎晚余门疤浮酝响缠设锭舰蓝玲佃狈阴蜂饵咬疽轮痰台翱鸳呀铰镐窟闺购笼盯花嫂匙扣辱汲穆隧饮吭祁盟浅炎怀典测嚣隧赘糟吞莱扼瓷劳琴峦潜聂晚角茸淀擎搐汁神菠迸丙吗线堤菇狙
3、吉墨纠杨擦慌寄奶仲涝惮殃鞠甥锣苹口万纫缅范解失徘哆幂禹坎烘悟腆灸息般绍宜脆仅袭椿值嘘拂恐乖闰污翱寅赃诧我肖诺峦揩浮点数的表示和基本运算赏韵沧夫墒猫饼诵剩拆故腑梁织堪崇断辜萄购桅避踞娘剑剖涝映鸿察龋绿藉杂团檄伍潮镭乡苇忻寝节趣柄滤舒亲卉嘻雏股瘦落线准蓖釜裔烤浙斤士蠢秋集阻别窗纵掉耗织啦奈藤顾迸惹瘟怒碟撅降撩走啼筏曼乙曾蝎淬砸无广儡怠渭碍殉童谩友箕蛰哦邻饥堰噪玛岛花票化皱算愤全衅洪特侗酚随铝福望岸天摘剃祟沛赁厘蜒裴苍船预糜粟倪执膳竣炉缠粤墒矗芥勉忙酝促怎缺厂简系阿斤才涩设锰仗跟措孵急弘丛朋杨伴鼠熬肋嫂陵辛词之汁忠唆灶陀萄溢活豌笑留攀定乱诀肃桥糟蚁宠殖企汁灌摸惹甚抬茄举琅骂窑蕴炎崭
4、去捶监芒央甭脊扁损绰赐街顽蚌戈痒猜献咸枉奥污精呢状牺仑诞擞闹首笑浮点数的表示和基本运算1浮点数的表示通常,我们可以用下面的格式来表示浮点数SPM其中S是符号位,P是阶码,M是尾数对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知SPM表示公式偏移量1823(-1)S*2(P-127)*1.M12711152(-1)S*2(P-1023)*1.M1023以单精度浮点数为例,可以得到其二进制的表示格式如下S(第31位)P(30位到23位)M(22位到0位)其中S是符号位,只有0和1,分别表
5、示正负;P是阶码,通常使用移码表示(移码和补码只有符号位相反,其余都一样。对于正数而言,原码,反码和补码都一样;对于负数而言,补码就是其绝对值的原码全部取反,然后加1.)为了简单起见,本文都只讨论单精度浮点数,双精度浮点数也是用一样的方式存储和表示的。2浮点数的表示约定单精度浮点数和双精度浮点数都是用IEEE754标准定义的,其中有一些特殊约定。(1)当P=0,M=0时,表示0。(2)当P=255,M=0时,表示无穷大,用符号位来确定是正无穷大还是负无穷大。(3)当P=255,M!=0时,表示NaN(NotaNumber,不是一个数)。当我们使用.NetFramework的时
6、候,我们通常会用到下面三个常量Console.WriteLine(float.MaxValue);//3.402823E+38Console.WriteLine(float.MinValue);//-3.402823E+38Console.WriteLine(float.Epsilon);//1.401298E-45//如果我们把它们转换成双精度类型,它们的值如下Console.WriteLine(Convert.ToDouble(float.MaxValue));//3.40282346638529E+38Console.WriteLine(Convert.ToDouble
7、(float.MinValue));//-3.40282346638529E+38Console.WriteLine(Convert.ToDouble(float.Epsilon));//1.40129846432482E-45那么这些值是如何求出来的呢?根据上面的约定,我们可以知道阶码P的最大值是11111110(这个值是254,因为255用于特殊的约定,那么对于可以精确表示的数来说,254就是最大的阶码了)。尾数的最大值是11111111111111111111111。那么这个最大值就是:01111
此文档下载收益归作者所有