可以。c語言pow函數(shù)可以計算小數(shù),從鍵盤讀入兩個實數(shù),編程計算并輸出的平方和,要求使用數(shù)學函數(shù)pow(x,y)計算平方值,輸出結果保留2位小數(shù)。
創(chuàng)新互聯(lián)是一家專業(yè)提供北海企業(yè)網(wǎng)站建設,專注與成都網(wǎng)站建設、網(wǎng)站設計、H5技術、小程序制作等業(yè)務。10年已為北海眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡公司優(yōu)惠進行中。
可以在輸出時,指定小數(shù)點后的有效位數(shù),實現(xiàn)精確到若干位的效果。
要精確到小數(shù)點后若干位,則數(shù)據(jù)類型為浮點型,可能為單精度(float)或雙精度(double)。
在C語言中,使用格式化輸出函數(shù)printf來實現(xiàn)輸出。
輸出格式為
%.NF
1 %為格式化字符串的引導字符。
2 .N表示指定顯示N位小數(shù)。
3 F為類型字符,對于float, F值為f, 對于double,F(xiàn)值為lf。
舉例:
1 要輸出float a=1.23234; 保留3位小數(shù)的寫法為:
printf("%.3f",a);
2 輸出double b=123.345232; 保留4為小數(shù),寫法為:
printf("%.4lf",b);
程序設計就是讓計算機按照一定的指令來進行工作,可以說數(shù)據(jù)的處理是程序設計的主要任務。那么,C語言中的小數(shù)(float,double)怎么輸出?歡迎大家閱讀!更多相關信息請關注相關欄目!
小數(shù)也稱實數(shù)或浮點數(shù)。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小數(shù)。這是常見的小數(shù)的表現(xiàn)形式,稱為十進制形式。
除了十進制形式,也可以采用指數(shù)形式,例如 7.25×102、0.0368×105、100.22×10-2等。任何小數(shù)都可以用指數(shù)形式來表示。
C語言中的小數(shù)也有這兩種表示形式。在書寫時,十進制形式和數(shù)學中的一樣,指數(shù)形式有所差異。
在C語言中小數(shù)的指數(shù)形式為:
aEn 或 aen
a 為尾數(shù)部分,是一個十進制數(shù),n 為指數(shù)部分,是一個十進制整數(shù),E或e是固定的字符,其值為 a×10n。例如:
2.1E5 = 2.1×105,其中2.1是尾數(shù),5是指數(shù)。
3.7E-2 = 3.7×10-2,其中3.7是尾數(shù),-2 是指數(shù)。
0.5E7 =0.5×107,其中0.5是尾數(shù),7是指數(shù)。
C語言中小數(shù)的.數(shù)據(jù)類型為 float 或 double:float 稱為單精度浮點數(shù),double 稱為雙精度浮點數(shù)。不像整數(shù),小數(shù)的長度始終是固定的,float 占用4個字節(jié),double 占用8個字節(jié)。
小數(shù)的輸出
輸出 float 使用 %f 控制符,輸出 double 使用 %lf 控制符,如下所示:
#include#includeint main(){float a = 0.302f;float b = 1.23002398;double c = 123;double d = 78.429;float e = 128.101;printf("a=%f b=%f c=%f d=%lf e=%lf ", a, b, c, d, e);return 0;}
運行結果:
a=0.302000
b=1.230024
c=123.000000
d=78.429000
e=128.100998
對代碼的說明:
1) %f 默認保留六位小數(shù),不足六位以 0 補齊,超過六位按四舍五入截斷。
2) 將整數(shù)賦值給 float 變量時會轉換為小數(shù)。
0.12345的小數(shù)點后第一位就是tab[0]=(int)(0.12345*10)
第二位就是tab[1]=((int)(0.12345*100)%10
第三位就是tab[2]=((int)(0.12345*1000)%10
以此類推
看不清你的程序。
如說輸出,不要小數(shù)點尾部的0,可以用 %g 格式。
#include stdio.h
main()
{
double d;
float f;
printf("enter 1.23\n");
scanf("%lf", d);
printf("your input is %g\n",d);
printf("enter 4.56\n");
scanf("%f", f);
printf("your input is %g\n",f);
return 0;
}
兩種表示方式:
1、定點表示:必須有小數(shù)點。
例如:0.123, .123, 123.0。
2、指數(shù)表示:e或E之前必須有數(shù)字,指數(shù)必須為整數(shù)。
例如:12.3e3 ,123E2, 1.23e4。
注意:浮點數(shù)常量默認為double類型,如果浮點數(shù)常量表示float類型,在末尾添加小寫的f或者大寫的F,表示此常量為單精度浮點常量。
定點小數(shù)是純小數(shù),約定的小數(shù)點位置在符號位之后、有效數(shù)值部分最高位之前。若數(shù)據(jù)x的形式為x=x0.x1x2…xn(其中x0為符號位,x1~xn是數(shù)值的有效部分,也稱為尾數(shù),x1為最高有效位),則在計算機中的表示形式為:
一般說來,如果最末位xn= 1,前面各位都為0,則數(shù)的絕對值最小,即|x|min= 2^(-n)。如果各位均為1,則數(shù)的絕對值最大,即|x|max=1-2^(-n)。所以定點小數(shù)的表示范圍是:2^(-n)≤|x|≤1 -2^(-n)。
擴展資料
由于“編碼總位數(shù)為8”的限制,真值-128無法用原碼、反碼來表示,似乎不能用上述規(guī)則來求解補碼,但實際上是可行的——只要不管它的最高位即可,操作辦法如下:
將128化為二進制為:1 0000000,最高位為1,可以只對舍去最高位后剩余的7位進行處理即可,首先取反得:1111111,加1得:1 0000000,最高位有進位需丟棄,即得:0000000,加上符號位就得補碼:1 0000000。
又如,當編碼總位數(shù)為4時,真值X=+0.101的原碼、反碼、補碼均為:0 101。
真值X=-0.101的原碼、反碼、補碼依次為:1 101、1 010、1 011。
同理,特例,-1的補碼為:1 000。
在定點小數(shù)中,小數(shù)點隱含在第一位編碼和第二位編碼之間
定點小數(shù),是指小數(shù)點準確固定在數(shù)據(jù)某個位置上的小數(shù),從實用角度看,都把小數(shù)點固定在最高數(shù)據(jù)位的左邊,小數(shù)點前邊再設一位符號位。按此規(guī)則,任何一個小數(shù)都可以被寫成 :N = NS . N-1?N-2?… N-M。
參考資料來源:百度百科-定點小數(shù)的表示方法