C小數精度問題,一個C 菜鳥的問題 float double的精度是多少含小數點

時間 2022-05-23 08:00:03

1樓:匿名使用者

既然程式中用到setpresion,我相信你對setpresion是有了解的。

setpresion(n)就是用於控制輸出流顯示浮點數的數字個數(整數+小數總共顯示n個)。

由於c++的輸出流比較複雜我就不給你套概念了,你用我給你的模板就好了:

#include

#include

using namespace std;

int main()

{double t1 = 100.23000;

double t2 = 0.2258;

cout<

首先你要通過fixed告訴輸出流你用的是%f格式輸出(c++裡頭叫做fixed),這時候通過setprecision(n)指定小數的位數為n位,不用fixed而直接用serprecision會有問題,你也體會對吧?這是因為你沒有指定%f格式而c++的輸出流預設使用的是%e的格式.

如果你想知道更多更復雜的內容,你可以進一步提問→_→

2樓:匿名使用者

#include

using namespace std;

int main()

一個c++菜鳥的問題 float double的精度是多少含小數點

3樓:匿名使用者

浮點顧名思義精度不固定。在接近儲存限制的時候小數點浮動精度下降。平時float7位 double15位含小數點

c++中double的精度問題

4樓:

#include

int main()

執行結果:

3508.0900

四捨五入了

5樓:風雷九州

double的精度是c語言規定的,我們沒有辦法更改,但是我們可以只輸出4位小數的。

printf("%.4lf", double1); //x.xlf,小數點前面的x是整數的位數,小數點後面的x是輸出的小數位數

6樓:種燒餅的怪叔叔

cout.setf (ios::showpoint);//使用定點數表示法

cout.precision (4);//保留精度4位

cout<

7樓:匿名使用者

你想控制輸出的精度的話,按照c語言風格可以 printf("%.4lf",a)即可

如果是c++輸出流分風格,那就setprecision(4),再呼叫cout即可

c++裡怎麼限制輸出小數位數

8樓:day忘不掉的痛

++ 標準輸出如何控制小數點後位數

#include

#include

using namespace std;

int main( void )

9樓:範俏壽映天

double

a=12444.489583484;

cstring

tmp;

tmp.format("%7.4f",a);//保留小數點前7位,小數點後4位

若滿意請及時採納。謝謝

10樓:匿名使用者

#include

#include

using namespace std;

int main()

11樓:匿名使用者

%.5f小數點後面的就是 限定的小數位數 ~

12樓:匿名使用者

float fa = 3.1415926f;

printf("%2f",fa);

13樓:匿名使用者

double d;

while(cin>>d) cout<

c++高手進 float 精度問題,這個要是丟失精度的話應該小才對?為什麼變大了?

14樓:

32bi浮點只有約6個(不到7個)十進位制有效數字..

而%.15lf設了小數點後15個數位的精度,有多餘輸出。

所以0.(150000)005960464中只有括號部分是精確的,其餘的數值可以捨去,

15樓:匿名使用者

我猜後面的可能是記憶體裡的東西,直接被讀出來了,跟你的程式半毛錢關係都沒有吧。

16樓:匿名使用者

因為%.15lf的意思是格式化輸出小數點後15位,因此有了你現在的結果

17樓:

float應該用%f輸出,而且你要輸出的位數大於他的精度,所以後面是隨機值,跟大小沒關係

18樓:

float的有效精度好像只有6位的,再多了就沒意義了,變大變小也就沒有意義了

19樓:匿名使用者

你這種情況,是你的資料在記憶體中溢位造成的,至於變大變小這要判斷float在記憶體中是如何儲存的。

你可以去找一下 計算機組成原理 看一下

裡面降到浮點數在計算機中的儲存形式,是由階符和階碼構成相如32位子長的計算機

第多少位到多少位是階符

第多少位到多少位是階碼

20樓:

計算機中的浮點數本來是不準確的,算個大概的

c++中如何對輸出幾位小數進行控制

21樓:匿名使用者

setprecision 函式

功能:控制輸出流顯示浮點數的數字個數,可以控制小數點右面的位數標頭檔案: iomanip

例程:#include

#include

using namespace std;

int main( void )

22樓:無寸光陰

保留兩位:

#include

using namespace std;

void main()

其餘的自己考慮

23樓:

cout.precision(15)

cout<

C語言菜鳥的問題,C語言菜鳥問題

沒的問題的,如果你打正確的,應該是可以換行的,後面的就在下面一行了 這個變數是不是全域性變數,如果不是的話,它的值是什麼呢?應該沒有值 c語言菜鳥的問題 c語言菜鳥問題 等於32 c語言中逗號 也是一種運算子,稱為逗號運算子。其功能是把兩個表示式連線起來組成一個表示式,稱為逗號表示式。其一般形式為 ...

關於C 的問題,關於C 的一個問題

d centigrade 5 9 d fahrenheit 32 這一句的9 d fahrenheit 32 是希望表示9 d fahrenheit 32 嗎?d centigrade 5 9 d fahrenheit 32 這一句,結合cannot be used as a function,編譯...

C語言問題。fout(),一個C語言問題。fout()

我先說一下整個功能和邏輯順序 1.函式傳入的引數應該為檔案路徑和檔名即str 2.通過檔名以只讀方式開啟 3.迴圈讀取檔案,每次讀取一個結構單元到快取 4.然後由快取複製到申請的記憶體空間中 下面是迴圈體中的執行過程 1.迴圈執行之初會將遊標p3指向的結構單元的next指標指向此次讀入記憶體的結構單...