十进制数如何转换为浮点数?十进制数转换为浮点数的方法
1 浮点数概述
浮点数是计算机存储实数的一种方式。它无法存储任意的十进制实数,部分实数仅能在浮点数定义的精度下近似表示。在计算机中,普遍使用的是IEEE 754标准的浮点数,包括一个32位的单精度浮点数与64位的双精度浮点数。
(资料图)
浮点数分为三部分,符号位(Sign)、指数位(Exponent)、基数(Mantissa)位。
设符号位为 S ,指数位为E,基数位为 M ,浮点数可以基本表示为:(−1)S×2E×M
以上公式只是对浮点数进行大致的说明。在实际的浮点数中,它所代表的十进制并不是使用直接上述公式计算,对于指数位与基数位在不同标准中有着不同的规定。不要用以上公式进行浮点数的十进制转换
2 IEEE 754的32位浮点数表示
IEEE 755 标准中,规定了符号位为1位、指数位为8位、基数位为23位。
在IEEE754标准中,除了上述的浮点数的说明外,有几处不同:
以上说明可能不够充分,接下来通过讲解一个十进制数如何表示成一个近似的浮点数来说明该标准下浮点数表示方法。
3 十进制数转换为浮点数(IEEE754 32位)
接下来,以实数3.14来做例子,讲述如何将十进制数转换为浮点数。
1. 判断该数是否在表示范围内: 2−126<3.14<2127 ,在该范围内,可以表示。
2. 将整数部分进行二进制转换:3=11
3. 将小数部分进行近似转换:
在实数中,存在十进制小数无法使用表示的数。譬如 1/3、1/7。这是因为十进制小数只能表示能转换为10的次方为分母的分数。(譬如 1/5 可以表示为十进制小数,因为它能转换为2/10,1/25同理,因为它可转换为4/100)
二进制小数则比十进制小数能表示的分数更少,因为其仅能表示能转换为以2的次方为分母的分数。因此,十进制小数不能一一对应一个二进制小数。
综上所述,十进制小数仅能通过一个近似的二进制小数表示。其方法如下:
以上步骤要重复进行多次来取得多位小数。但只能使整个基数部分保留24位。解决该问题可以如下操作:
如果在计算中出现了循环小数或是已经为0的情况,二进制小数计算可以提前停止。
注意到,在整个转换浮点数的第一步已经判断了浮点数的范围,无需考虑十分小的小数无法表示,而近似为0的情况。
通过上述操作,0.14的二进制表示为:0.0010010000111001010110
4. 实数二进制转换:
3.14的二进制表示为:11.0010010000111001010110
5. 实数规格化:
基数需要从二进制数的第一个1开始表示,3.14的规格化表示为:1.10010010000111001010110×21。
6. 指数位计算
3.14规格化后的指数为1,但根据IEEE标准,实际指数位需要在规格化表示的指数上加上127,则指数位为: 127+1=128=10000000
7. 基数位表示
根据IEEE标准,基数位仅表示1.XXXXX后的.XXXXX部分,则3.14的浮点数的基数位为:10010010000111001010110
8. 结果
结合得到的指数位和基数位,再加上符号位0(如果是负数则为1),3.14的完整32位浮点数表示为:0 10000000 10010010000111001010110
4 浮点数转换为十进制数(IEEE754 32位)
根据上述过程,我们不难得出浮点数的十进制表示公式:
设符号位为 S ,指数位为E,基数位为 M ,则32位浮点数代表的十进制数计算公式为:
5 浮点数表示的不准确性
从十进制转换为浮点数的过程中,我们可以看出使用浮点数来表示一个实数时存在的误差在两个地方产生:
十进制小数的二进制转换,许多十进制小数部分只能近似转换成二进制小数。基数位数限制,即使十进制数存在一个精确的二进制数,由于浮点数的位数限制,只能保留固定位数的有效数字。
因此,在编程中使用浮点数实际上并不准确。即使浮点数的加减乘除计算是准确的,浮点数本身不准确,其结果也不会准确。如果要进行精确计算,使用整型才是最佳选择。
标签:
相关推荐:
最新新闻:
- 天天实时:CAP为什么没有明确考虑收敛性?分布式系统中的收敛性
- 全球观点:Cosmos-1-理论知识全解析 gumptlu.work/Cosmos-pdf下载教程
- Unlocker解锁VMwareWorkstation虚拟机
- 什么是Oops?linux之Oops原理及解析|动态
- ExcelOOP函数怎么使用?Excel中VLOOKUP函数的详细用法
- find命令详解 linux下find命令的使用方法
- javascript_initialize构造函数 子类的构造函数|世界独家
- 用比特彗星如何下载?路由器端口映射教程
- 密锣紧鼓地开发年度盛典 BigoLive前端营收组同比更佳|当前热文
- 数组开小了、运行时间过长怎么办?解决方法 环球速看料
- 十进制数如何转换为浮点数?十进制数转换为浮点数的方法
- 案例分享:感染Synaptics蠕虫病毒的360安全卫士
- METER功能信号的分类及频谱分析
- 如何在搜寻数据库时快速找到档案?locate命令用法举例
- 天天速讯:Java数组详解 java语言中使用数组的方法
- 《天外世界:太空人之选》现已在获准上市区域推出:全球快讯
- “健身猪”一只最高能卖8万元 食用口感不太好:每日视讯
- 世界即时看!厂商将为PS5推出"永不漂移"摇杆 可应用于精英手柄
- 《遗迹2》枪手介绍影片公开 发售日期待定-热资讯
- 天天消息!流行之王迈克尔杰克逊传记片在加州拍摄
- 虚幻5《最后生还者》粉丝恶搞视频 循声者搞笑聊天-全球最资讯
- 苹果推出黄色款iPhone14 3月14日开售 5999元起
- iPhone 15全系面板曝光:弧边实锤了
- 微信能用支付宝钱包了!:滚动
- 环球微速讯:iPhone新配色到来:科技以换壳为本
- 【环球报资讯】待机可达52天!内置10000mAh电池三防智能手机发布
- 全球速讯:恐怖生存新游《Hellspawn》上架steam 探索击溃邪教团
- 赛博朋克风ARPG《上行战场》全平台销量超100万份
- AMD显卡上线新促销:买RX 6000、RX 7000显卡送400元3A大作:每日快播
- 游戏越来越贵:去年英国游戏平均售价上涨近7%
- 世界观察:太空经营类游戏《火星地平线2:寻找生命之旅行》Steam页面上线 2024年发售
- 上海迪士尼和玲娜贝儿拥抱要排队6小时:互动一分钟 环球资讯
- 荃银高科:公司深耕水稻、玉米、小麦等主要农作物种子的研发、繁育、推广、服务及利用优质特色品种带动订单农业业务 焦点要闻
- 每日报道:云南白药年薪千万董事长离职 承诺半年内不转让股份
- 天天热讯:禁止恶俗烂梗!超20个"鸡你太美"商标被判无效
- 当前焦点!电影版《东京复仇者2》新剧照 前后篇4月6月上映
- T2正在进行裁员 声称对开发团队影响微乎其微:天天新要闻
- 胡克定律是什么
- 当前滚动:《人类:一败涂地》全球销量已超4000万套
- 全球快看点丨未成年强奸罪可判多少年
- 全球即时:《寂静岭2:重制版》新版护士形象公开身材火辣
- Take Two裁员 发行公司Private Division受波及
- 全球快播:立减205元 360°夜视摄像头仅需64元
- 美国特斯拉ModelS和X降价高达一万美元
- 13999!七彩虹RTX4090有货
- 【秒懂知识库】如何鉴别手机屏幕的好坏?
- 微软:Mac版Outlook免费
- 全球热资讯!《不要喂食猴子2099》5月25日登陆Steam 支持试玩
- 恐怖游戏《有一天你会归来:导演剪辑版》已推出|每日视讯
- PS及Switch美版《格林魔书 OnceMore》试玩版上架
- 世界短讯!《蚁人3》周末北美票房暴跌61% 豆瓣评分降至6.0
- 推特词汇工具统计:COD粉丝是最“嘴臭”的玩家群体:环球滚动
- 开关游戏怎么玩
- A卡用户小心!最新驱动可能让你的PC变砖
- 大疆正式发布DJI Ronin 4D Flex分体拓展系统,解放电影机_环球观天下
- 绽放“她光彩” 三星显示器助力女性拥抱向上的力量|全球热文
- 多名韩国艺人整形医院就诊画面遭泄露:几乎没有天然脸
- 天天热文:燕王登基:《文明6》“永乐”成有史以来最受欢迎的文明领袖
- 英伟达531.18版驱动程序出现问题 退出游戏后CPU占用率可能会更高
- 父母嫌贵拒绝给买200多元的鞋子 28岁女子瞬间崩溃 环球快看
- 育碧回应业务重组:市场迫使我们转向线上服务游戏 天天播资讯
- 天天实时:《城市:天际线2》Xbox Series版成就泄露
- 花月正春风_花月满楼
- 38节特惠!小米Redmi note11t Pro跌至1499元_天天看点
- 威马汽车复活!将全力开展复工复产-资讯
- 一加Ace 2V发布:天玑9000处理器、2299元起
- 2299元起!一加Ace 2V发布来京东参与预售可享30天无忧试用
- 大国品牌帅丰集成灶刷屏机场+央视,引爆行业声势!|天天信息
- 热头条丨外媒:《王国之泪》游戏大小凸显了Switch的硬件限制
- 演员叶彤|全球今亮点
- 307元显卡挑战3050地位
- 新学期旗开得胜 三星Galaxy Tab S8系列带来高分秘籍-世界通讯
- 真彩女王 不被定义 罗技开启个性三八妇女节|速递
- 价格屠夫小米显示器369元_世界今热点
- 一加Ace 2V全球首发Wi-Fi技术:网络不卡了