㈠ 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]='