float几个字节,float多少位字节?
float几个字节,float多少位字节?详细介绍
本文目录一览: float占几个字节
4 个字节。
FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
扩展资料:
float的类似数据类型:
double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。
它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308
参考资料来源:百度百科-FLOAT
参考资料来源:百度百科-double
一个浮点数占几个字节
问题一:C语言中定义的float是占四个字节,即三十二位,这个可定义的浮点数的范围是多少… 浮点数的范围是:2^(-32)到2^32-1
至于输搐结果,C语言默认的是输出输出8位(包括整数部份,小数点,小数总价),你也可以设置输出其它位数的结果。
32位说的是在内存中分配32 bit的空间来存储数据。
问题二:C语言中以个单精度浮点型数据占几个字节 4个字节
问题三:两位小数占几个字节 一个字符就占一个字节
3.14就是4个字节
3.1415926就是9个字节
无限循环只要你数的请是几个那就不是无限的,再计算机中不存在无限的东西,都是近似。
如果楼主想问的是小数点“字符”占几个字节的话,就是我的答案,如果楼主问的是“浮点数”占几位字节的话1楼的是正解。
这2个引号出来的不是一个概念哦
问题四:一个浮点数据在两个文件中各占的字节数相同吗?为什么 Turbo C中有以下两种类型的浮点数: float 单浮点数。字长为4 个字节共32 位二进制数,数的范围是 3.4x10-38E~3.4x10+38E。 double 双浮点数。字长为 8个字节共 64 位二进制数,数的范围是 1.7x10-308E~1.7x10+308E。
问题五:c语言中double型数据在内存中 占多少个字节来存储 double 中文译为双精度浮点数,一般称双精度数,它在内存中占用8个字节(位、bit)的空间;float 中文译为单精度浮点数,一般就称为浮点数,它在内存中占用4个字节的空间。
问题六:存储一个双精度浮点数所占的字节数是 B
问题七:浮点数一般多少位 你好,
浮点数分两类,
float 32bit
double 64bit
问题八:java中,32位系统里,一个数字占几个字节?一个字母占几个字节? java是跨平台的语言,所以不论在什么系统中这些东西在内存中所占空间都是相同的。
数字分为整数和浮点数,而整数又分为byte类型,占1字节;short类型,占2字节;int类型,占4节;long类型,占8个字节。浮点数分为float类型,占4字节;double类型,占8字节。
Java字符采用Unicode编码,每个字符占2字节。
float(4个字节)类型所能表达的数字范围是多少
C语言中,float
为单精度浮点数,占4字节,其数值范围为3.4E-38
~3.4E+38或者-(3.4E-38
~3.4E+38)
float的指数位有8位,尾数位有23位,符号位1位。
于是,float的指数范围为-127~+128,按补码的形式来划分。
其中负指数决定了浮点数所能表达的绝对值最小的非零数;而正指数决定了浮点数所能表达的绝对值最大的数,也即决定了浮点数的取值范围。
所以,float的范围为-2^128
~
+2^128,也即-3.40E+38
~
+3.40E+38
float多少位字节?
float四个字节,32位
c语言中double和float它们存储时分别占据多大的内存空间?
double定义的是双精度的变量,该变量的占八个字节,有效数字是15位。而float是单精度的浮点型变量,该变量占的是四个字节,有效数字是7位。所以如果小数位比较多,就应该设置为double形的。小数的话默认为double型的变量,如果定义一个float的话最后末尾要带一个f,比如float
a=12.1f;表示这是一个单精度的数,而double不需要。
C标准规定:
float
不少于
4个字节,
double
不少于
8个字节。
具体的你在所在平台上用这个试试就知道了(sizeof(int)):
sizeof(double);sizeof(float);
C标准规定:
float
不少于
4个字节,
double
不少于
8个字节。
具体的你在所在平台上用这个试试就知道了(sizeof(int)):
sizeof(double);
sizeof(float);
首先更正楼上:字节不等于位,1字节(Byte)=8位(bit)
float单精度型浮点数,占据内存为4个字节(4B)。
double双精度型浮点数,占据内存为8个字节(8B)。
double
中文译为双精度浮点数,一般称双精度数,它在内存中占用8个字节(位、bit)的空间;float
中文译为单精度浮点数,一般就称为浮点数,它在内存中占用4个字节的空间。
C语言中float型数据表示的最大数字到底是多少啊?
float类型所能表示的最大数字为3.4*10^38,即3.4E38。
float是C语言中的一个数据类型的关键字,表示单精度浮点型(双精度浮点型为double)。
定义格式为:
float a; // a表示一个浮点型的变量
C语言规定浮点型在内存占用4个字节,精度为7位,取值范围为:3.4*10^-38 ~3.4*10^38或者-(3.4*10^-38 ~3.4*10^38)
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看
第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
其实这几种说法都没有错.不过2^104*(2^23 -1 )貌似应该是2^104*(2^24 -1).然后2^128和3.4E+38都是估计值
最好是你自己看一下IEEE754标准.
网上不好搜的话可以看
第二版第二章的2.4.2小节,讲的很详细.
另外,指数的范围是-126~+127.具体原因也是自己去看书.
内容不多,两三页纸,但是只靠我打字太难说明白
我们的老谭的C教材上说float型数据的范围是-3.4×10的-38次方至3.4×26位尾数中有一个符号位也就是最大的数是+/-(2^25-1)*(+/-2^5-1,
表示有压力,静观高手赐教
C语言中float型数据表示的最大数字为3.402823E38。
FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
扩展资料:
FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。
深入理解计算机系统>
深入理解计算机系统>
C语言中(Vc6.0),int, char,double分别占多少字节?
char 1个字节
float 4个字节
double 8个字节
int分为long int和short int,其中long int是4个字节,short int是2个字节
在vc编译器中int默认是long int,因此int在vc6.0里面是4个字节
最佳答案
char 1个字节
float 4个字节
double 8个字节
int分为long int和short int,其中long int是4个字节,short int是2个字节
在vc编译器中int默认是long int,因此int在vc6.0里面是4个字节
Visual C++ 6.0,简称VC或者VC6.0,是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C++是一个功能强大的可视化软件开发工具。
其中int 占4个字节, char 占一个字节,double占8个字节。
你可以在Vc里用下面的代码测试一下:
#include
#include
int main(){ int i; i=sizeof(int); printf("int占%d个字节\n",i); i=sizeof(char); printf("char占%d个字节\n",i); i=sizeof(double); printf("double占%d个字节\n",i); system("pause"); return 0;}
int 4, char 1,double 8
int分为long int和short int,其中long int是4个字节,short int是2个字节。
char 1个字节。
double 8个字节。
拓展资料:16位编译器
char :1个字节char*(即指针变量): 2个字节short int : 2个字节int: 2个字节unsigned int : 2个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
32位编译器
char :1个字节char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 4个字节long long: 8个字节unsigned long: 4个字节
64位编译器
char :1个字节char*(即指针变量): 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 8个字节long long: 8个字节unsigned long: 8个字节
c语言int、float、long、char各有多少位
1、在32位系统中:
char(1)字节
short(2)字节
int(2)字节
long(4)字节
char*(4)字节
int*(4)字节
int**(4)字节
2、在64位系统中:
char(1)字节
short(2)字节
int(4)字节
long(8)字节
char*(4)字节
int*(4)字节
int**(4)字节
扩展资料
在C++中short占2字节,int、float、long都占4字节,double占8字节。
指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。
char占1字节,short占2字节,int、float、long都占4字节,double占8字节,任意类型的指针都占4个字节。
为什么float是单精度的,用4个字节储存,能得到的确是6~7位有效数
浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。 一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent (注意,公式中的mantissa 和 exponent使用二进制表示) 底数部分 使用2进制数来表示此浮点数的实际值。 指数部分 占用8-bit的二进制数,可表示数值范围为0-255。 但是指数应可正可负,所以IEEE规定,此处算出的次方须减去127才是真正的指数。所以float的指数可从 -126到128. 底数部分实际是占用24-bit的一个值,由于其最高位始终为 1 ,所以最高位省去不存储,在存储中只有23-bit。 到目前为止, 底数部分 23位 加上指数部分 8位 使用了31位。那么前面说过,float是占用4个字节即32-bit,那么还有一位是干嘛用的呢? 还有一位,其实就是4字节中的最高位,用来指示浮点数的正负,当最高位是1时,为负数,最高位是0时,为正数。 浮点数据就是按下表的格式存储在4个字节中: Address+0 Address+1 Address+2 Address+3 Contents SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM S: 表示浮点数正负,1为负数,0为正数 E: 指数加上127后的值的二进制数 M: 24-bit的底数(只存储23-bit) 主意:这里有个特例,浮点数 为0时,指数和底数都为0,但此前的公式不成立。因为2的0次方为1,所以,0是个特例。当然,这个特例也不用认为去干扰,编译器会自动去识别。 通过上面的格式,我们下面举例看下-12.5在计算机中存储的具体数据: Address+0 Address+1 Address+2 Address+3 Contents 0xC1 0x48 0x00 0x00 接下来我们验证下上面的数据表示的到底是不是-12.5,从而也看下它的转换过程。 由于浮点数不是以直接格式存储,他有几部分组成,所以要转换浮点数,首先要把各部分的值分离出来。 Address+0 Address+1 Address+2 Address+3 格式SEEEEEEE EMMMMMMM MMMMMMMM MMMMMMMM 二进制 11000001 01001000 00000000 00000000 16进制 C1 48 00 00 可见: S: 为1,是个负数。 E:为 10000010 转为10进制为130,130-127=3,即实际指数部分为3. M:为 10010000000000000000000。 这里,在底数左边省略存储了一个1,使用 实际底数表示为 1.10010000000000000000000 到此,我们吧三个部分的值都拎出来了,现在,我们通过指数部分E的值来调整底数部分M的值。调整方法为:如果指数E为负数,底数的小数点向左移,如果指数E为正数,底数的小数点向右移。小数点移动的位数由指数E的绝对值决定。 这里,E为正3,使用向右移3为即得: 1100.10000000000000000000 至次,这个结果就是12.5的二进制浮点数,将他换算成10进制数就看到12.5了,如何转换,看下面: 小数点左边的1100 表示为 (1 × 23) + (1 × 22) + (0 × 21) + (0 × 20), 其结果为 12 。 小数点右边的 .100… 表示为 (1 × 2-1) + (0 × 2-2) + (0 × 2-3) + ... ,其结果为.5 。 以上二值的和为12.5, 由于S 为1,使用为负数,即-12.5 。 所以,16进制 0XC1480000 是浮点数 -12.5 。 上面是如何将计算机存储中的二进制数如何转换成实际浮点数,下面看下如何将一浮点数装换成计算机存储格式中的二进制数。 举例将17.625换算成 float型。 首先,将17.625换算成二进制位:10001.101 ( 0.625 = 0.5+0.125, 0.5即 1/2, 0.125即 1/8 如果 不会将小数部分转换成二进制,请参考其他书籍。) 再将 10001.101 向右移,直到小数点前只剩一位 成了 1.0001101 x 2的4次方 (因为右移了4位)。此时 我们的底数M和指数E就出来了: 底数部分M,因为小数点前必为1,所以IEEE规定只记录小数点后的就好,所以此处底数为 0001101 。 指数部分E,实际为4,但须加上127,固为131,即二进制数 10000011 符号部分S,由于是正数,所以S为0. 综上所述,17.625的 float 存储格式就是: 0 10000011 00011010000000000000000 转换成16进制:0x41 8D 00 00 所以,一看,还是占用了4个字节。