㈠ float在c语言中是什么意思具体的。double呢谢谢!
float代表(单精度)浮点型,一般用4字节来表示一个浮点数。
double代表双精度浮点型,一般用8字节来表示一个浮点数。
㈡ C语言中float是什么类型
C语言中float是:单精度浮点型数据类型。
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。
由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
应用经验:
float浮点数两个浮点数不相等和精度的问题,在实际开发中,经常用整数代替浮点数,因为整数是精确的,效率也更高。
例如人的身高一米七五,以米为单位,用浮点数表示是1.75米,如果以厘米为单位,用整数表示是175。
在 C 和 C++ 中,如下赋值语句:
floata=0.1;编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '
原因:在 C/C++ 中,上述语句等号右边 0.1,认为是个 float,但是编译器却把它认为是个 double(因为小数默认是 double),所以要报这个 warning,一般改成0.1f就没事了。
以上内容参考:网络-FLOAT
㈢ C语言中的float是不是浮点的意思(请高手详解)
是,float指的是单精度浮点类型,在内存中占用4个字节;像浮点型数据还有double、long
double,分别占用8和10(有的编译器是16)字节。越长的类型精确度越高。与此类相对的是整型数据,包括char(也叫字符型,实质上是一种整型,1字节)、short(2字节)、int(2~4字节)、long(4字节)、long
long(8字节),越长的类型表示整数的范围越大。
㈣ c语言,如何把float型的0.333333 转化为字符串
sprintf指的是字符串格式化命令,函数声明为 int sprintf(char *string, char *format [,argument,...]);,主要功能是把格式化的数据写入某个字符串中,即发送格式化输出到 string 所指向的字符串。sprintf 是个变参函数。使用sprintf 对于写入buffer的字符数是没有限制的,这就存在了buffer溢出的可能性。解决这个问题,可以考虑使用 snprintf函数,该函数可对写入字符数做出限制。
#include <stdio.h>
int main( void )
{
char buffer[200], s[] = "computer", c = 'l';
int i = 35, j;
float fp = 1.7320534f;
// 格式化并打印各种数据到buffer
j = sprintf( buffer, " String: %s\n", s ); // C4996
j += sprintf( buffer + j, " Character: %c\n", c ); // C4996
j += sprintf( buffer + j, " Integer: %d\n", i ); // C4996
j += sprintf( buffer + j, " Real: %f\n", fp );// C4996
printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );
return 0;
}
㈤ c语言中的字符型,短整型,整型,长整型,浮点型,都是什么,具体格式都是什么
char 字符型
short 短整型
int整形
long长整型
float(单精度),double(双精度)浮点型
㈥ C语言中float是什么意思
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)
㈦ 在C语言中 char,float,int,void有什么含义,或者在什么时候用,具体点,谢谢!
1、都是与类型有关的关键字。
2、char/float/int是定义变量类型的:char是定义【字符型】变量,占用1个字节;float是定义【浮点型】变量的,是单精度的浮点型,一般不超过7位有效数字,占用4个字节;int是定义【整型】变量的,占用2个字节。。最后void是【空值型】的,在C++中没有空值型的常量和变量,一般主要用于函数的声明和指针的声明。在void main()声明的函数,一般没有return;
㈧ C语言 数组类型转换,怎样将一个float类型的数组转换成字符(串)数组
不使用sprintf,使用求余%,且代码少
#include<stdio.h>
#include<math.h>
//4个二进制位转成一个16进制位的字符(3个二进制位转成一个8进制位的字符)(十进制0-9转成字符)
(unsignedcharnum)
{
switch(num)
{
case0:return'0';
case1:return'1';
case2:return'2';
case3:return'3';
case4:return'4';
case5:return'5';
case6:return'6';
case7:return'7';
case8:return'8';
case9:return'9';
case10:return'A';
case11:return'B';
case12:return'C';
case13:return'D';
case14:return'E';
case15:return'F';
default:return'X';
}
}
//字符串反转
voidReverseString(char*Source,intBegin,intEnd)
{
inti;
charTemp;
for(i=0;i<((End-Begin+1)/2);++i)
{
Temp=Source[Begin+i];
Source[Begin+i]=Source[End-i];
Source[End-i]=Temp;
}
}
//比较float类型大小
intCompareFloat(floatA,floatB)
{
if((A<B)
&&(fabs(A-B)>1e-6f))
{
return-1;
}
elseif((A>B)
&&(fabs(A-B)>1e-6f))
{
return1;
}
else
{
return0;
}
}
//float转字符串(十进制)(Precision是小数精度)
voidFloatToStringDecimal(floatFloat,char*Destination,unsignedintPrecision)
{
if(CompareFloat(Float,0)!=0)
{
//将小数移到整数位
floatTemp=Float*powf(10.0f,(float)Precision);
//负数转成正数,否则不能使用迷之转换
if(CompareFloat(Temp,0)==-1)
{
Temp=-Temp;
}
floatIntInFloat=0.0;
modff(Temp,&IntInFloat);
inti=0;
unsignedcharnum;
for(i=0;(i<(int)Precision)&&(CompareFloat(IntInFloat,0)!=0);++i)
{
//float转成unsignedint
//迷之转换(因为不知道内部如何实现,所以叫迷之转换)
num=(unsignedchar)((unsignedint)IntInFloat%10);
Destination[i]=(num);
IntInFloat/=10;
modff(IntInFloat,&IntInFloat);
}
if(Precision!=0)
{
Destination[i]='.';
++i;
}
while(CompareFloat(IntInFloat,0)!=0)
{
num=(unsignedchar)((unsignedint)IntInFloat%10);
Destination[i]=(num);
IntInFloat/=10;
modff(IntInFloat,&IntInFloat);
++i;
}
if(CompareFloat(Float,0)==-1)
{
Destination[i]='-';
++i;
}
ReverseString(Destination,0,i-1);
Destination[i]='