A. 計算機c語言的單雙精度是什麼啊,怎麼區別啊
比如,11.234567這個就是單精度,單精度有效位數是前七位,當然不包括小數點,但是小數點後面默認保留6位小數,如果不夠6位用0填充。
12.23456789446547這個就是雙精度,雙精度默認保留14位小數。
雙精度比單精度表示浮點型(也就是小數)更精確一些,比如在需要高精度數據的地方就可以用雙精度。其它的前面都說了
都很對。
B. C語言中的單精度和雙精度浮點型的區別!3.14是哪種3.14159呢
3.14是單精度,3.14159是雙精度。
兩者區別如下:
一、指代不同
1、單精度:是指計算機表達實數近似值的一種方式。
2、雙精度:此數據類型與單精度數據類型(float)相似,但精確度比float高。
二、佔用空間不同
1、單精度:范圍在負數的時候是從 -3.402823E38 到 -1.401298E-45,而在正數的時候是從 1.401298E-45 到 3.402823E38 。
2、雙精度:雙精度型佔8 個位元組(64位)內存空間,其數值范圍為-1.79769313486232E308 到1.79769313486232E308。
三、特點不同
1、單精度:數值比以上值小的時候,將會由於尾數的有效位數減少而逐步喪失精度(IEEE 754的規定),或者有的系統則直接採用0值來簡化處理過程。
2、雙精度:編譯時所佔的內存空間依不同的編譯器而有所不同,是double float數據類型,C/C++中表示實型變數的一種變數類型。
C. C語言單精度類型數如何比較大小
float f1,f2;
比較大小,一般還是直接用:f1-f2這種方式
如果是比較是否相等,就設置一個誤差值:float ESP = 0.000001
假如abs(f1-f2)< ESP, 就認為相等,當然0.000001這個值可以自己設定
D. C語言中浮點數如何比較大小
浮點數比較大小,由於精度問題,所以直接比較有時可能會出錯。
所以在比較的時候需要用一個很小的數值來進行比較。當二者差小於這個很小的數時,就認為二者是相等的了。這個很小的數,稱為精度。
精度由計算過程中需求而定。比如一個常用的精度為1e-6.也就是0.000001.
所以對於兩個浮點數a,b
如果fabs(a-b)<=1e-6,那麼就是相等了。
fabs是求浮點數絕對值的函數。
類似的
判斷大於的時候,就是if(a>b
&&
fabs(a-b)>1e-6)。
判斷小於的時候,就是if(a
1e-6)。
E. c語言中比%lf精度更高的是什麼
%f
%f和%lf分別是float類型和double類型用於格式化輸入輸出時對應的格式符號。
其中:
float,單精度浮點型,對應%f.
double,雙精度浮點型,對應%lf.
在用於輸出時:
float類型可以使用%lf格式,但不會有任何好處。
double類型如果使用了%f格式可能會導致輸出錯誤。
在用於輸入時:
double 類型使用了%f格式,會導致輸入值錯誤。
float類型使用double類型不僅會導致輸入錯誤,還可能引起程序崩潰。
所以在輸入輸出時,一定要區分好double和float,而使用對應的格式符號。
F. c++中高精度數值與低精度數值作比較怎樣進行轉換
C語言做長整型到整型的數據類型轉換是直接從低位截取,而將高位捨去。65536用長整型表示為十五個0+1+十六個零(二進制)轉換為整型時,取後面十六位二進制數字,結果全是0,所以輸出為0.65535用長整型表示為十六個0+十六個1(二進制)轉換為整型時,取後面十六位二進制數字,結果全是1,輸出為-1(計算機中負數是用補碼表示的)麻煩採納,謝謝!
G. C語言 比較兩數大小(高精度)
#include<stdio.h>
void main()
{
long double max(long double x,long double y);
long double a,b,c;
scanf("%lf,%lf",&a,&b);
c=max(a,b);
printf("max=%lf\n",c);
system("pause\n");
}
long double max(long double x,long double y)
{
long double z;
if (x>y)z=x;
else z=y;
return(z);
}
H. c語言實現大數比較(高精度)
//可以轉換成字元串來比較,添加數字轉換成字元串就可以了
#include<stdio.h>
#include<string.h>
intmain()
{
chara[1001],b[1001];
gets(a);
gets(b);
inttemm=strcmp(a,b);
if(temm>0)
printf("%s",a);
elseif(temm<0)
printf("%s",b);
else
printf("兩個數據相等 ");
return0;
}
I. C語言的單精度與雙精度如何區別
其實就是有效位數不一樣。
浮點型變數分為單精度(float)、雙精度(double)和長雙精度(longdouble)3類。在TurboC中:
比特(位)數有效數字
float326-7
double6415-16
longdouble12818-19
ANSIC並未具體規定每種類型數據的長度、精度、數值范圍,有的系統將double所增加的32位全用於存放小數部分,這樣可以增加數值的有效范圍,減少舍入誤差。有的系統則將所增加的位(bit)一部分存放指數部分,這樣可以擴大數值范圍
J. c語言中單精度型和整形常量可以比較大小嗎
C語言里 單精度,雙精度,整形,長整型 等數據是可以相互比較的,不會出錯,因為做相應操作時,系統會幫你自動轉換,至於轉換的方向,是按優先順序的,具體誰高誰低我記不清了,只記得雙精度最高,比方說 int 和 double 比較 int 會自動轉換成double類型。話說我記得教材上有的 你可以查一查