C語言有效數字問題,在c語言中,有效數字和有效數位怎麼解釋?

2021-08-29 11:42:53 字數 2504 閱讀 6138

1樓:匿名使用者

輸出控制符是不分單精度雙精度的,之所以有%f和%lf,完全是為了書寫規則的完善,沒有實際意義。都是double型的。

%f系統預設輸出6個小數點後的位,小數點前的不管多少都輸出為什麼可以完整地把12.123456輸出出來,單精度為6~7為有效數字

%g 當指數小於-4或大於等於精度時採用%e或%e的格式,否則採用%f的格式。尾部的0與小數點不列印。

2樓:顧兒柔飛蘭

1.這是c語言中的強制型別轉化問題。在有不同型別的量參與運算時,一律先強制型別轉化成一致的型別再運算。

轉化規則是以最高階別的型別為基準。由低向高轉化。型別的級別從低到高排列依次為:

char->int->long

int->float->double

2.因為雙精度的數,其有效位比單精度更多,有效位越多,當然計算的結果越精確。但是有效位越多,資料處理也就越多,因而運算速度會降低。

在c中浮點型常量如果沒有說明,一律看做是double型。有說明的除外,如:

3.21f,這個就是float型。

3樓:嶽傲巫馬子實

是指第一個不是0的開始算,從那個數開始到最後一位,如要保留6位

的話,1就變成了1.00000.如0.078和0.78與小數點無關,均為兩位有效數字。506與220均為三位有效數字。

在c語言中,有效數字和有效數位怎麼解釋?

4樓:匿名使用者

1、在c語言中,一個數的有效數字取決於該數字所屬的型別。

2、舉例如內下:

如果數12.3是int型別,那麼

容12就是該數的有效數字,小數部分無效;

如果數12.3是float型別,那麼12.3就是該數的有效數字。

如果數字超過其型別所能表示的範圍,那麼其就沒有效數字。

5樓:

以下所述bai都指vc6.0環境,其他的du可能有所不同。

單精度7位指

zhi的是整數dao部分加上小數部分的數字。比如版a=100000000.0/3.0;

printf("%10.20f\n",a);//輸出33333334.00000000000000000...(20個0)

a=10.0/3.0;

printf("%10.20f\n",a);//3.3333332537....(小權數部分共20位,但明顯小數部分6位有效數字以後是錯的)

.不算。

在printf的%f預設情況下(%和f間沒有輸出限制)是給小數部分輸出6位數字,精度超出就輸出錯的,沒超出就是精確值

6樓:匿名使用者

#include

using namespace std;

int main()

試一下啦!

如何用c語言保留3位有效數字 5

7樓:砍人不要緊

printf("%3f",數值),即可

c語言報錯的問題?

8樓:匿名使用者

你的程式錯誤,是在

cout << 「enter the temperature in celsius:」;

cout << 「fahrenheit value is:」;中用了中文狀態下的雙引號。

#include

#include

#include

using namespace std;

int main(int nnumberofargs, char* pszargs)

以上程式正確,可以執行。

如果還不行,那就是編譯器的問題。建議:用vc2008,c-free或vc2010.

微軟已停止對vc6.0進行更新了。(開始不習慣很正常,成為高手後會喜歡例如vc2010的)。

c語言中什麼是一個數的有效數字?

9樓:匿名使用者

樓上誤解

樓主問的是c語言 不是數學

這要看你的機器型別和變數型別了

如果定義的是int型 那1234是有

版效數字

權 後面小數都是無效的

如果定義的是float型 那在限定位元組長度內都是有效數字不同機器型別也不一樣 int型有2個位元組 也有4個位元組的

10樓:天雲一號

在c語言中,bai一個數的有效數du字取決於該數字所屬的類zhi型。

舉例如下:

如果數dao12.3是int型別,那麼版12就是該數的權有效數字,小數部分無效;

如果數12.3是float型別,那麼12.3就是該數的有效數字。

如果數字超過其型別所能表示的範圍,那麼其就沒有效數字。

11樓:匿名使用者

有效數字是指從左邊第一個非0的數起算一個有效數字,1234.567017就一共有10個有效數字,像0.12就有2個有效數字

c語言中char的問題,C語言中char的問題

書上講的是使用上的情況。對char型別的情況介紹是正確的,但是對字元常量書上忽略了一點技術細節。字元常量這個東西的具體情況並不是像你理解的那樣,這個東西的型別其實是 int而不是char。你可以找個編譯器試試看sizeof a 的結果是4。所以你寫 字元 或者 1234 是可以的,如果你寫 5字元 ...

c語言中怎麼輸入數字和字母,C語言中怎麼輸入數字和字母?

大致提供下個人想法,用c語言中的ctype.h 檔案中的 isdigit 函式來判斷。雖然說該函式只能判斷0 9的數,但是,你可以把所有輸入的東西當成是一個陣列形式。呼叫該函式,用指標來逐一判斷其每一位。比如說如果是輸出,1111可以用isdigit 判斷其每一位都為真,這就為數字。輸入ajkjlk...

C語言for迴圈賦值問題,C語言中用for迴圈賦值陣列

在第一次迴圈以後,漏掉了將j清零的操作,這樣在i 1與i 2時,j 4,不會進入輸出的第二級迴圈 c語言中用for迴圈賦值陣列 include main a 0 到a 9 這10個數依次賦值0到9for i 0 i 10 i a i i a 20 到a 29 這10個數全部賦值成9for i 20 ...