C语言中float,double类型,在内存中的结构(存储方式).

      从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double能存储更高的精度。

      任何数据在内存中都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int型变量的值是1000,那么它的二进制表达就是:00000011 11101000。由于Intel CPU的架构原因,它是按字节倒 序存储的,那么就因该是这样:11101000 00000011,这就是定点数1000在内存中的结构。

      目前C/C++编译器标准都遵照IEEE制定的浮点数表示法来进行float,double运算。

      这种结构是一种科学计数法,用符号、指数和 尾数来表示,底数定为2——即把一个浮点数表示为尾数乘以2的指数次方再添上符号。

      下面是具体的规格:

              符号位 阶码 尾数 长度

      float     1     8     23    32

      double  1     11   52    64

      临时数   1     15   64    80

      由于通常C编译器默认浮点数是double型的,下面以double为例: 共计64位,折合8字节。

      由最高到最低位分别是第63、62、61、……、0位: 最高位63位是符号位,1表示该数为负,0正; 62-52位,一共11位是指数位; 51-0位,一共52位是尾数位。

     按照IEEE浮点数表示法,下面将把double型浮点数38414.4转换为十六进制代码。

     把整数部和小数部分开处理:整数部直接化十六进制:960E。小数的处理: 0.4=0.5*0+0.25*1+0.125*1+0.0625*0+…… 实际上这永远算不完!这就是著名的浮点数精度问题。所以直到加上前面的整数部分算够53位就行了(隐藏位技术:最高位的1 不写入内存)。

     如果你够耐心,手工算到53位那么因该是:38414.4(10)=1001011000001110.0110101010101010101010101010101010101(2)

     科学记数法为:1.001……乘以2的15次方。指数为15! 于是来看阶码,一共11位,可以表示范围是-1024 ~ 1023。因为指数可以为负,为了便于计算,规定都先加上1023,在这里, 15+1023=1038。

     二进制表示为:100 00001110 符号位:正—— 0 ! 合在一起(尾数二进制最高位的1不要): 01000000 11100010 11000001 11001101 01010101 01010101 01010101 01010101 按字节倒序存储的十六进制数就是: 55 55 55 55 CD C1 E2 40。

转载于:https://www.cnblogs.com/xinjun/archive/2010/03/08/1680908.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496026.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html超链接去虾线,挑虾线别只会用牙签了,渔民都是这样做的,1秒处理一个,超方便...

现在大家的生活条件已经越来越好,所以说人们在城市的时候也是越来越注意饮食这一方面了,但其实大家在做饭的时候都喜欢买上一些营养丰富的食材,就像是在最近几年海鲜也是让大家都非常喜欢的。海鲜是我们日常生活中都非常喜欢的一个美食&#…

AI将成科学家“高级定制”工具

来源:科技日报 作者:房琳琳化学家有了新的实验助手——人工智能(AI)。随着深度学习算法的进一步应用,AI计算机程序能帮助药物化合物等小有机分子产生所需的反应序列,制定合成路径。《自然》杂志近日发表了…

Xvfb 虚拟现实库 之 Python 虚拟桌面 pyvirtualdisplay

如何在Xvfb中运行Selenium?:https://cloud.tencent.com/developer/ask/107705 命令:nohup Xvfb -ac :7 -screen 0 1366x1024x8 -maxclients 512 >/dev/null & Is there a Windows equivalent to PyVirtualDisplay:https:…

SpringBoot 自带工具类~CollectionUtils

org.springframework.util.CollectionUtils 1、集合判断工具 // 判断 List/Set 是否为空 boolean isEmpty(Collection<?> collection) // 判断 Map 是否为空 boolean isEmpty(Map<?,?> map) // 判断 List/Set 中是否包含某个对象 boolean containsIns…

因HTTP的Header长度过长导致下载文件名出现乱码的问题

在通过IE直接下载文件的时候&#xff0c;我们可能会遇到一个比较常见的问题&#xff0c;那就是&#xff1a;我们下载的文件的文件名如果过长的话&#xff0c;就会出现&#xff0c;弹出的提示框的文件标题名变成乱码&#xff0c;即“%f%e%1”这样的乱码&#xff0c;而且点击保存…

华为式创新与海尔式创新——两条道路考验中国制造

来源&#xff1a;企业管理杂志&#xff08;ID&#xff1a;qyglzz&#xff09;作者&#xff1a;吴兴杰&#xff0c;中国管理科学研究院专家咨询委员会副主任、学术委员会委员、研究员以华为为代表的聚合化创新之路非常难走而又不得不走&#xff0c;否则永远只能当二流甚至三流企…

Python 日期 的 加减 等 操作

datetime — Basic date and time types&#xff1a;https://docs.python.org/3.8/library/datetime.html dateutil --- powerful extensions to datetime&#xff1a;https://dateutil.readthedocs.io/en/stable/index.html Python time 和 datetime 的常用转换处理&#xf…

计算机网络技术专业的规划,计算机网络技术专业建设规划

附件2:计算机网络技术专业建设规划专业建设与发展是高职教育人才培养的重要依据&#xff0c;决定着人才培养质量和培养规格&#xff0c;体现了学校的办学实力与办学水平。2012年以前&#xff0c;电子信息工程系有三个专业&#xff0c;分别是计算机应用技术专业、电子商务专业&a…

SpringBoot 自带工具类~FileCopyUtils

org.springframework.util.FileCopyUtils 1、输入 // 从文件中读入到字节数组中 byte[] copyToByteArray(File in) // 从输入流中读入到字节数组中 byte[] copyToByteArray(InputStream in) // 从输入流中读入到字符串中 String copyToString(Reader in) 2、输出 /…

ReaderMe 1.0.0.32版发布

2010-03-09 ReaderMe 1.0.0.321、添加“Ctrl M”快捷键&#xff0c;在当前光标位置做书签。2、更新软件内的主页链接&#xff0c;由原来的谷歌站点&#xff0c;改为博客园。 点击下载最新版本 转载于:https://www.cnblogs.com/gaoyunpeng/archive/2010/03/09/1681571.html

乐山市计算机学校太坑,乐山市计算机学校小规矩成就大素养

没有规矩&#xff0c;不成方圆。规矩&#xff0c;虽然约束了我们的一些行为&#xff0c;但究其根本是保障了大家的基本利益&#xff0c;使我们的学习、生活、工作有序推进。在乐山市计算机学校&#xff0c;我们有校规校纪&#xff0c;“十条红线”、“三不两禁”的学生管理办法…

牛津大学计算机系主任:人工智能立法重在抓机遇、防危害

来源&#xff1a;科技日报 作者&#xff1a;郑焕斌“人工智能立法的重点应在于充分利用AI技术所提供的各种机遇&#xff0c;构建适宜的环境以激励、培育大量AI初创公司和新服务的发展&#xff0c;防范和应对AI技术所带来的各种潜在危害。”牛津大学计算机系主任迈克尔伍尔德里…

Python 数据可视化:WordCloud 词云的构建

WordCloud 官方文档&#xff1a;https://amueller.github.io/word_cloud/index.html WordCloud GitHub 地址&#xff1a;https://github.com/amueller/word_cloud Python非常重要的一个可视化库&#xff0c;wordcloud词云库了解一下&#xff01;&#xff1a;https://www.bilibi…

关于deepearth的一点小问题

我下载的deepEarth的源代码&#xff0c;编译以后有错误&#xff0c;不知怎么办&#xff0c;不知道各位用没用过deepEarth啊&#xff1f;请高手指教&#xff01; 转载于:https://www.cnblogs.com/kakaleilei/archive/2010/03/09/1681608.html

SpringBoot 自带工具类~ResourceUtils

org.springframework.util.ResourceUtils 1、从资源路径获取文件 // 判断字符串是否是一个合法的 URL 字符串。 static boolean isUrl(String resourceLocation) // 获取 URL static URL getURL(String resourceLocation) // 获取文件&#xff08;在 JAR 包内无法正常…

计算机术语局部性,【计算机基础】程序的局部性简介

什么是局部性&#xff1f;局部性分类局部性有什么作用&#xff1f;局部性举例数据引用的局部性取指令的局部性结论完整代码什么是局部性&#xff1f;程序倾向于使用它们最近使用的地址接近或相等的数据和指令。局部性分类局部性主要分为时间局部性和空间局部性。时间局部性&…

卫星还在“织网” 北斗时代尚需时日

来源&#xff1a;科技日报 作者&#xff1a;付丽丽生活在大都市里的人们&#xff0c;出门如果没有手机导航&#xff0c;会感觉自己像盲人一样不会走路。而让人更无法忍受的&#xff0c;则是傻导航的瞎导乱导&#xff0c;“我就老跟导航吵架&#xff0c;气得我把手机摔了的心都…

Python3.5 queue 模块详解 和 进程间通讯

queue — A synchronized queue class&#xff1a;https://docs.python.org/3/library/queue.html 菜鸟教程 - Python3 多线程&#xff1a;http://www.runoob.com/python3/python3-multithreading.html python3 队列&#xff1a;https://cloud.tencent.com/developer/informa…

领域模型中的各种角色

实体 实体是具有唯一标识的对象,且该标识和对象的属性值分离.即使两个实体的属性完全相同,这两个实体也相同,不能交换使用.由于实体通常对应于现实世界的概念. 是领域模型的中心,因此实体的标识非常重要. 值对象 值对象是主要由其属性值定义的对象.值对象通常不可变,即一旦创建…

5大洲,32个国家:剑桥分析公司的触角到底有多远?

来源&#xff1a; 资本实验室 作者&#xff1a;王进据Facebook最新披露的信息&#xff0c;剑桥分析公司&#xff08;Cambridge Analytica&#xff09;经由Facebook平台泄露数据影响的用户数量从5000万增加到8700万。其中&#xff0c;美国占比81.6&#xff05;&#xff0c;也就…