Ⅰ c语言中float到底能存多大的数!
-------符号位--指数位----小数部分----(指数偏移量 )
单精度浮点数-1位[31]--8位 [30-23]-23位 [22-00]----(127)
一般情况下,
int在内存里以2进制补码存储,跟你想的差不多,这个就不用多说了;
float存储方式如上面所示,1位符号位,指数位8位,小数位23位,共32位即4个字节。假设小数位表示的纯小数为x,指数表示的数字为n,符号为负,则这个float数字为(-(1+x))×(2^n)。
纯小数部分用补码表示,小数位的位数与可以表示的数据范围无关,只与可以表示的有效数字有关,即表示精度有关。
指数位部分用移码表示,所以可以表示的大小是2^-127到2^128,即最大的数是2^128=3.4E38。也就是说表示范围是-3.4E-38到3.4E38。
Ⅱ c语言中float可以保留几位小数
float对应的是6位小数,如果
输出语句不做额外定义就输出带有6位小数
Ⅲ 求C语言中float型数据的表示范围
根据我的计算vc
是使用26位尾数,6位指数
26位尾数中
有一个符号位
也就是最大的数是+/-(2^25-1)*(+/-2^5-1)
也就是+/-33554431e+/-31
也就是+/-3.4e+/-38
Ⅳ c语言中计算int,float,double,char四种数据类型所能表示的数据范围
int 有符号整数,根据系统(编译器)不同,有不同的范围,16bits系统(DOS系统):-(2^15)到(2^15-1),32bits系统:-(2^31)到(2^31-1),64bits:-(2^63)到(2^63-1)。如果是无符号整数unsigned int,那么16bits系统(DOS系统):0到(2^16-1),32bits:0到(2^32-1),64bits:0到(2^64-1)
float, double是浮点型和双精度型,表示小数,区别是精度不同。
float为单精度浮点型,能准确到小数点后六位,3.4 x 10^(-38)~ 3.4 x 10^(+38)
double为双精度浮点型,能准确到小数点后十二位,1.7 x 10^(-308)~ 1.7 x 10^(+308)
char为单字节字符型,-(2^7)到2^7-1即-128到127。如果是无符号字符unsigned char,那么是0到2^8-1即0到255
希望采纳
Ⅳ C语言中float数据类型保留几位有效数字
float数据
机器内是2进制数,
1位符号位
8位指数位
23位“尾数”位
共32
位
2进制数。
平时讲
有效数字
是6~7位
,指10进制。
通常程序输入的数是10进制,进入机器后要化成2进制,计算完又转十进制输出。
10进制到2进制,2进制到10进制
转换,有的数化不净,有的数化得净。
如同10进制分数化10进制小数,有的化得净(例如
4分之1,变0.25),有的化不净(例如
3分之1,变0.33333....)。
10进制到2进制,2进制到10进制
转换,化得净的效数字7位,化不净的效数字6位,因为最后一位有舍入误差。
例如:
float
x,y;
x=0.51;
//
化不净
y=0.5;
//
化得净
printf("x=%.8f
y=%.8",x,y);
//
输出
0.50999999
0.50000000
Ⅵ c语言中的 float的什么 精确到多少位多少位到底是怎么算的
具体分析一个实型数据的时候,精确到多少位就表示小数点后面多少位,你的猜测是正确的。
Ⅶ 在C语言中float数据数值范围是多少
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
Ⅷ c语言中的 float的什么 精确到多少位多少位到底是怎么算的
一个float型数据,通常说精确到多少位就表示精确到小数点后多少位,可以通过printf实现。例如,
float f=10.3576;//精确到2位
printf("%.2f",f);//结果为10.36
int printf( const char *format, ... );printf函数根据format给出的格式打印输出到STDOUT(标准输出)。用%m.nf精度修饰符让你指定想要的小数位数, 例如,%12.6f表示用12位显示(含小数点及所有数字),小数点后保留6位小数。
Ⅸ C语言中float型数据表示的最大数字到底是多少啊
C语言中float型数据表示的最大数字为3.402823E38。
FLOAT数据类型用于存储单精度浮点数。具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为float类型,提供了一个在-3.402823E38到3.402823E38之间的范围。
(9)c语言float能表示的准确数据位扩展阅读:
FLOAT数据类型变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
如果存储比精度更重要,优先考虑对浮点变量使用 float 类型。相反,如果精度是最重要的条件,则优先使用 double 类型。
Ⅹ c语言 float类型保留几位啊 怎么确定
float类型默认保留小数点后6位,若是要输出一位或者其他位数,可以按照以下形式进行输出:
printf("%.(这里输入要输出的位数)f",x);
如输出一位:printf("%.1f",x);
实例
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存储最大字节数 : %lu ", sizeof(float));
printf("float 最小值: %E ", FLT_MIN );
printf("float 最大值: %E ", FLT_MAX );
printf("精度值: %d ", FLT_DIG );
return 0;
}