实时搜索: float浮点型占几个字节

float浮点型占几个字节

545条评论 6571人喜欢 1883次阅读 576人点赞
float变量能存的最大数是?还有对这些数值解释下,为什么是这样?然后它在内存中的存储形式是怎样的?谢谢各位大虾。
float的一般数(比如:12.5等等)在内存中的形式我知道,所以不要给我一般数的答案,谢谢。补充一点就是:推出float的最大数在内存中的存储是怎样的,要过程,(对了这里的float是有符号的)。 , modbus传float数的问题,float是4个字节的,而modbus一个寄存器是2个字节,modbus如何传送float类型的数呢?非常急,重赏加急!!! , c语言中,float类型占了4字节,可不可以以%d形式输出来呀??我觉得既然都是4字节,那么肯定是可以的呀...

c语言中,float变量能存的最大数是?: 确实如同楼上所说,float变量是单精度浮点型,在计算机中是分配了4个字节(byte)的内存,其中每个内存是8位(bit),而每一位的存储形式都是0/1,因此一共是32位的二进制数,故其范围为3.8e-38~3.8e+38
下面是借鉴大神的回答:
http://zhidao.baidu.com/question/93121574.html
种类-------符号位-------------指数位----------------尾数位----
float---第31位(占1bit)---第30-23位(占8bit)----第22-0位(占23bit)

根据LZ的追问
S(符号位) E(指数位) M(尾数位)

0 1111 1111 111 1111 1111 1111 1111 1111
写成4bit一间隔形式
0111 1111 1111 1111 1111 1111 1111 1111

modbus传float数的问题,float是4个字节的,而modbus一个寄存器是2个字节,modbus如何传送float类型的数呢?: modbus一个寄存器是2个字节,float占4个字节,需要使用2个modbus地址寄存器即可

c语言中,float类型占了4字节,可不可以以%d形式输出来呀??我觉得既然都是4字节,那么肯定是: 不行,因为浮点数是将整数和小数分开存储的,它和一般整数存储是不一样的。

关于modbus通讯协议的四字节浮点数算法的问题: #include <stdio.h>

int main( void )
{
unsigned a = 0x4125851f;
unsigned b = 0x410c3d71;
void * pa = (void *)&a;
void * pb = (void *)&b;
float c = *(float*)pa;
float d = *(float*)pb;

printf( "c = %f\n", c );
printf( "d = %f\n", d );
}

这是C语言的解析程序,不外乎把原始数据放在一块内存中,然后强制解释为float型。

使用sizeof()运算符编写程序求在vc 6.0环境下int型、float型、double型: 可以定义一个变量,然后求变量的内存大小,即反应数据类型的内存大小,也可以直接使用sizeof()在括号内写类型
如:
sizeof(int);
sizeof(float);
sizeof(double);
用printf输出就能看到了,如printf("%d",sizeof(int));

python编程问题 我要实现一个将一个4个字节的数,转换成一个浮点数的过程,在c语言下是这样实现: 我不懂python,看人家是用 ctypes.Union 实现的。例如:
class test(ctypes.Structure):
# ...
class test2(ctypes.Structure):
# ...
class tests(ctypes.Union):
_fields_ = [("a", test),
("b", test2)]
把两个结构组合到一个联合体里。我想,你可以模仿它,把两个变量组成一个联合体。

参考:
http://docs.python.org/2/library/ctypes.html#structures-and-unions

float和double类型的大小为:

float:浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。

double(双精度浮点型)是计算机使用的一种资料型别。它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。

double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多。

扩展资料

如果存储比精度更重要,请考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则使用 double 类型。

浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:

float f_short;double f_long;long double f_longer;f_short = f_short * f_long;

在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。

在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:

f_longer = f_short * f_short;

double f_long;

long double f_longer;

f_short = f_short * f_long;

在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。

在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:

f_longer = f_short * f_short;

参考资料:百度百科-float

参考资料:百度百科-double

单精度float 和双精度double到底是什么区别啊:

一、字节数不同

1、float占4个字节,也就是32位。

2、double占8个字节,也就是64位。

二、指数域位数不同

1、float的指数域是8位,可表达的范围为0~255。

2、double的指数域是11位,可表达的范围为0~2047。

三、指数域位数不不同

1、float的小数域是23位。

2、double的小数域是52位。

四、指数偏移量不同

1、float的指数偏移量是127,故实际可表达的指数值的范围为-127~128。

2、double的指数指数偏移量是,故实际可表达的指数值的范围为-1023~1024。

五、可表示数的范围不同

1、float可表示数的范围是-2^128~2^128,即-3.40E+38~ .40E+38。

2、double可表示数的范围是-2^1024~2^1024,即-1.79E^308~1.79E^308。

扩展资料:

将实数用浮点数格式表示的方法:

以实数-9.625为例子。

1、求出该实数对应的二进制:1001.101,用科学技术法表达为:-1.001101*2^3。

2、因为负数,符号为1。

3、指数为3,故指数域的值为3 + 127 = 130,即二进制的10000010。

4、尾数为1.001101,省略小数点左边的1后为001101,右侧0补齐,补够23位,

最终尾数域为:00110100000000000000000。

5、最终结果:1 10000010 00110100000000000000000,用16进制表示:0xC11A0000。

参考资料来源:百度百科-浮点型数据

  • dnf满级分解机多久

    win10怎么打开多个软件窗口: 工具:win10步骤:以三个任务为例,将三个窗口不满屏幕;1.按住鼠标左键,将word窗口向左上角拖动,直至屏幕出现全屏提示框(灰色透明蒙板)。2、此时如果我们松开,任务窗口则会最大化。3、若继续向左上角拖动,则出现...

    946条评论 3244人喜欢 1649次阅读 381人点赞
  • fgo国服日服哪个好

    为什么win10打开多个窗口时,所需窗口无法置顶: 控制面板-轻松使用-轻松使用设置中心-更改鼠标的工作方式,取消勾选最下边“将窗口移动到屏幕边缘时自动排列窗口”,确定 ...

    970条评论 6244人喜欢 3642次阅读 828人点赞
  • 2008年的奥运会在哪举行

    cbr23 值多少钱: 现在哪有才跑了1W公里的23啊,23期是八十年代中后期生产的,到现在都多少年了,要么表肯定调过的,如果真有跑这么点的那很稀奇了,1W3这个价格不算贵,一般好的23也是值这么多钱的,你还得自己去看车怎么样,听听发动机,...

    398条评论 5553人喜欢 1906次阅读 950人点赞
  • 1840年至1911清朝的统治者是谁

    windows media player win10没有:  windows media在程序和功能的启用或者关闭Windows功能中。打开方法:右击开始菜单,弹出菜单选择“程序和功能”。点击窗口右边的“启用或关闭Windows功能”。在列表中找到“媒体功能”,点击+号展开就...

    266条评论 3716人喜欢 3728次阅读 264人点赞
  • 2016年产假多久河北

    win10专业版启用或关闭windows功能空白怎么回事?: 解决“win10系统启用或关闭windows功能打开后里面是空白的”问题的原因是:需要准备的材料分别是:电脑、win10 64位系统。1、按下电脑键盘上的【windows】+【R】打开运行界面,输入【regedit】...

    338条评论 3299人喜欢 1943次阅读 972人点赞