double float 类型在内存中的存储形式

一、基础知识

浮点数分为 单精度和双精度,在内存中都分为三部分;
①符号位;
②指数位;
③尾数位;
Float类型内存形式:
在这里插入图片描述

图1 float类型在内存中的形式
double类型内存形式:
在这里插入图片描述

图2 double类型在内存中的形式

根据浮点数的存储标准(IEEE制定 https://en.wikipedia.org/wiki/IEEE_754-1985 ),
float类型指数的起始数为127(二进制0111 1111),即指数为0111 1111时代表科学计数法的指数位为0;
double类型指数的起始数为1023(二进制011 1111 1111),即指数为011 1111 1111时,代表科学计数法的指数位为0;

二、举例说明

下面用举例的方式进行详细讲解:1.0在内存中是如何存储的

第一步:将1.0十进制转换为二进制,如图3所示。1.0(十进制)=1(二进制)
在这里插入图片描述

图3 数字1.0的十进制转换二进制
第二步:将二进制写成科学计数法;1.0(十进制)=1(二进制)= 1.0 * 10^0;
第三步:关注尾数和指数,1.0 * 10^0;指数位为0;尾数位为0,
第四步:计算指数和尾数
指数位有初值,初值为011 1111 1111,因此指数位为 011 1111 1111 + 0 = 011 1111 1111
尾数位没有初值,初值为0,因此尾数位为 0 + 0 = 0;
最后,数字double 1.0类型在内存中的形式如图4所示;
在这里插入图片描述

图4数字1.0在内存中的存储形式
使用vc6.0验证double 1.0 在内存中的存储形式,截图如下:
在这里插入图片描述

图5验证数字1.0在内存中的存储形式

第二个例子:double 9.0在内存中的存储形式

在这里插入图片描述

图6 数字9.0的十进制转换二进制

第一步:十进制转二进制; 9.0(十进制) = 1001(二进制)
第二步:二进制写成科学计数法; 1001 = 1.001 * 10^3;
第三步:查看尾数和指数; 尾数为001指数为3=11(二进制)
第四步:计算尾数和指数 尾数位001;
指数位11 + 011 1111 1111 = 100 0000 0010
因此9.0在内存中的存储形式如图7所示:
在这里插入图片描述

图7数字9.0在内存中的存储形式

使用vc6.0验证double 9.0 在内存中的存储形式,截图如下:
在这里插入图片描述

图8验证数字9.0在内存中的存储形式

第三个例子,我们可以进行熟练的分为两步;

在这里插入图片描述

图9 数字133.0的十进制转换二进制

第一步:十进制转二进制并写成科学计数法;
133.0(十进制) = 10000101(二进制)= 1.0000101 * 10^7;
第二步:计算尾数和指数;指数=7=111(二进制)
尾数即为0000101
指数位111 + 011 1111 1111 = 100 000 0110
因此133.0在内存中的存储形式如图10所示:
在这里插入图片描述

图10数字133.0在内存中的存储形式

使用vc6.0验证double 133.0 在内存中的存储形式,截图如下:
在这里插入图片描述

图11验证数字133.0在内存中的存储形式

2.5 自己算一下吧,下图有答案;
在这里插入图片描述

图12 验证数字2.5在内存中的存储形式

iaoouun
关注 关注
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C语言float,double类型,在内存的结构
zmq5411的专栏
04-04 2万+
存储结构和算法上来讲,doublefloat是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double存储更 高的精度。 任何数据在内存都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int型变量的值是1000,那么它的二进制表达就是:00000011 11101000。由于Intel CPU的架构
!!!float/double内存的表示
b_end_an的专栏
05-20 1076
C语言float,double类型,在内存的结构(存储方式) 从存储结构和算法上来讲,doublefloat是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以double存储更高的精度。 任何数据在内存都是以二进制(0或1)顺序存储的,每一个1或0被称为1位,而在x86CPU上一个字节是8位。比如一个16位(2 字节)的short int型变量的值是100
float ,double类型内存存储方式
站在理想与平凡的路口
08-21 910
C/C++的浮点数据类型floatdouble两种。  类型float大小为4字节,即32位,内存存储方式如下: 符号位(1 bit)   指数(8 bit)   尾数(23 bit)  类型double大小为8字节,即64位,内存布局如下: 符号位(1 bit)   指数(11 bit)   尾数(52 bit)         符号位决定浮点数的正
floatdouble存储模式
deroy
10-11 1626
定点数和浮点数 本文所提到的都是基于intel x86Cpu,开发环境是基于windows 10 + vs2019。本片博客需要读者自己明白十进制、十六进制、二进制之间的转换,文不会介绍转换过程,需要了解详细过程的情查找相关资料 首先我们简单的介绍一下计算机数据存储的基础知识,具体内容在大学课程《计算机组成原理》有详细的介绍。计算机对数据的存储是有两种形式,一种是以定点数方式存储即C/C++的char、short、int、long、longlong,另一种就是以浮点数的方式存储即C/C++
floatdouble数据类型详解
最新发布
cool_ly的博客
04-24 461
floatdouble数据类型详解
浮点数的存储方式
yolo_yyh的博客
03-06 1万+
目录 一、浮点数存储方式分类 二、浮点实数存储方式 2.1 如何把浮点数转为二进制数 2.2 为什么浮点数存在精度问题 三、double类型如何存储 为什么浮点数不适合比较大小和比较相等的操作?原先只听说跟浮点数的精度有关,浮点数为什么会有精度缺失问题?需要看一下浮点数在计算机如何存储。 一、浮点数存储方式分类 在计算机发展过程,出现了两类存储方式,分别是定点实数存储和浮点实数存储方式: 1、定点实数存储方式:约定整数位和小数位的存储长度,比如高两位放整数位,低两位存放小数位。 .
floatdouble类型数据在内存存储方法
04-16
NULL 博文链接:https://canlynet.iteye.com/blog/1796889
c语言的数据在内存存储形式
02-09
C语言的数据在内存存储形式是指在计算机内存存储数据的方式。了解数据在内存存储形式是非常重要的,因为它直接关系到程序的正确性和效率。 在C语言,数据类型可以分为基本内置类型、数组类型、结构体...
C语言floatdouble的区别.pdf
09-30
在C语言floatdouble是两个基本的浮点类型,它们在存储方式、精度、数值范围等方面存在着明显的差异。 首先,float类型是单精度浮点数,它占用4个字节的内存空间,有效数字为6-7位,数值范围在-3.4*10(-38)到...
浮点数在计算机内存存储格式
12-04
其实,不论是float类型还是double类型,在计算机内存存储方式都是遵从IEEE的规范的。float遵从的是IEEE R32.24,而double遵从的是R64.53。无论是单精度还是双精度,在内存存储都分为三个部分:符号位(Sign)...
深入C/C++浮点数在内存存储方式详解
01-01
任何数据在内存都是以二进制的形式存储的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统,存放方式为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU...
C语言floatdouble的区别[参照].pdf
10-11
在C语言floatdouble是两种基本的浮点数类型,它们之间的区别在于它们的精度、内存占用和表示范围。 float是一种单精度浮点数类型,占用4个字节的内存空间,有效数字位数为6-7位,表示范围为-3.4*10(-38)~3.4*...
浮点数在计算机存储方式是怎样的
01-01
C语言和C#语言,对于浮点类型的数据采用单精度类型float)和双精度类型(double)来存储float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,...
浮点数在计算机内存存储格式.pdf
10-06
在计算机内存,浮点数的存储格式遵循IEEE的规范,float类型遵循IEEE R32.24规范,而double类型遵循IEEE R64.53规范。无论是单精度还是双精度,在内存存储都分为三个部分:符号位(Sign)、指数位(Exponent)和...
浮点数在计算机存储方式
02-14
C语言和C#语言,对于浮点类型的数据采用单精度类型float)和双精度类型(double)来存储float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= 2.25f的时候,是如何分配内存的呢?如果胡乱分配,...
java内存分配
01-21
在 Java ,基本数据类型共有 8 种,即 int, short, long, byte, float, double, boolean, char。这些类型的定义是通过诸如 int a = 3; long b = 255L;的形式来定义的,称为自动变量。值得注意的是:自动变量存的...
再次普及double浮点型数据的换算过程和推算原理
shawhay518的博客
04-09 9988
最近在网上找了下关于浮点double型数据的解释,基本都是解释的含糊不清,误人子弟,今天开篇来重点讲一下浮点double数据在计算机的转换和计算方式,float是32bit单精度,和double原理类似,本文重点讲double。 不管是C,C++,java, 大家对浮点数据的引入是再正常不过了,因为计算机都帮我们自动处理了,而无需关心其真正的原理,但是作为一个高级程序员必须要做到的是知其然并知
float型和double型数据的存储方式
热门推荐
爱码者的博客
06-26 2万+
float型和double型数据的存储方式 对于浮点类型的数据采用单精度类型float)和双精度类 型(double)来存储float数据占用32bit,double数据占用64bit。通常 float可以保证十进制科学计数法小数点后6位有效精度和第7位的部分精度 double可以保证十进制科学计数法小数点后15位有效精度和第16位的部分精度。 因为floatdouble的精度是由尾...
C语言 float double内存存储
TODD911的专栏
11-06 1万+
本文转载于:http://wenku.baidu.com/link?url=ARfMiXVHCwCZJcqfA1gfeVkMOj9RkLlR9fIexbgs9gDdV8rIS48A1_xe1y6YgXnSlpof5pKKJbjScy1StbVdiUWARuAYUIYiyHeTIIhVaz3  C语言,对于浮点类型的数据采用单精度类型float)和双精度类型(double)来存储float
floatdouble内存存储方法
04-10
floatdouble是用于存储浮点数的数据类型,在内存存储方式稍有不同。float使用32位(4字节)存储double使用64位(8字节)存储。它们都采用IEEE 754标准进行浮点数的存储和运算。在程序可以通过定义变量来使用...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Optitrack与ROS详细教程以及Motive的使用 11401
  • gazebo黑屏打不开world的解决方法 10284
  • ubuntu16.04使用USB转TTL(ch340)串口转usb调试过程 7991
  • double float 类型在内存中的存储形式 3839
  • LinuxCNC学习-Machinekit手册介绍 3658

分类专栏

  • Linux系统编程 2篇
  • Linux网络编程
  • Linux驱动开发
  • opencv 2篇
  • ROS 10篇
  • 嵌入式 3篇
  • 学习 2篇

最新评论

  • ubuntu16.04使用USB转TTL(ch340)串口转usb调试过程

    超级喜欢uu子: 老哥,我没找到 wait_queue_t 这一行呀

  • LinuxCNC学习-Machinekit手册介绍

    sf9090: no force homing =1 我设置了还是回零

  • double float 类型在内存中的存储形式

    tangjiashiertui: 这怎么就写了一半呢?

  • Optitrack与ROS详细教程以及Motive的使用

    maybebebebe: 请问optitrack的Prime22相机好,还是NOKOV的Mars2H好?

  • gazebo黑屏打不开world的解决方法

    daxianghrh: 解决了 谢谢大佬!!

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • LinuxCNC学习-HAL库介绍
  • LinuxCNC学习-Machinekit手册介绍
  • Linux信号机制
2021年3篇
2020年12篇
2019年7篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司徐州企业网站设计推荐佛山关键词按天计费报价四平建站公司赤峰网站排名优化报价思茅营销型网站建设报价淮安百姓网标王哪家好赣州网站设计报价扬州阿里店铺托管哪家好巢湖如何制作网站推荐江门seo排名推荐平湖关键词按天扣费哪家好玉溪网站推广系统报价扬州阿里店铺运营山南百度网站优化排名多少钱绍兴高端网站设计哪家好通辽网站搭建推荐白城至尊标王多少钱塔城建网站多少钱安顺关键词按天计费公司开封阿里店铺运营报价铜陵网站优化按天扣费报价阿坝阿里店铺运营报价清远模板推广哪家好平凉seo网站推广推荐海南网站关键词优化公司庆阳营销网站哪家好爱联网站优化按天扣费报价聊城外贸网站制作价格永新seo排名绥化百度标王多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化