幫忙用c 寫個高精度相加

時間 2025-02-06 22:50:17

1樓:網友

/寫了個簡單的,沒有考慮負數。

#include

#include

#include

using namespace std;

int main()

string s1,s2;

int arr1[10000]=,arr2[10000]=,temp[10001]=,i,j,in=0;//10000位夠多了。。

cin>>s1>>s2;

for(string::size_type s1len=0,j=;?;len是兩個數中較長的長度。

for(i=0;i=10)

temp[i]-=10;//若該位相加大於10,自減10temp[i+1]++高位加1

in=1;//進位為1

else in=0;

if(in)

len++;

for(i=len-1;i>=0;i--)cout

c++精度問題

2樓:

沒有,因為計算機內部浮點數是二進位表示的,必須轉換成十進位(bcd,ascii)表示才可以,使用十進位精度設定。 要想真正控制精度, 除非你自己定義bcd串表示,或者ascii串表示的十進位數,否則會有表示誤差。

當然,你也不必在意表示誤差,因為他很小,所以實際計算是可以不必太關心。確實需要關心就用 bcd串表示,或者ascii串 好了。

不然可以擴充套件浮點數精度。

3樓:藍色**

不是很明白 你的問題,首先可以告訴你一點,執行時候的精度往往是大於輸出時的,

4樓:網友

不必要關心這種精度, 僅需要關心最終輸出結果 ..

c++精度問題

5樓:網友

首先答案肯定不是4對,肯定多了去了。

其次你要明白所謂的浮點型的答案其實也是整數範疇的,你把另外乙個數字的幾個「0」拿過來給浮點型的數,不就也是整數了嗎。

所以這個問題就歸結為16!這個數分解為2個整數的問題。如果是整數分解,你就先應該明白如何對乙個數分解為2個整數。

第一步要把數字寫成質數相乘的形式。比如18這個數寫成18 = 2*3*3的形式。

第二步就是把上面的質數進行排列組合,簡單的說就是把上述質數分為2組即可,每一組所有質數的乘積就是你要的一組結果。比如2,3,3這3個數可以這樣做,和為一種組合(2和9就是結果),和,和。

第三步要去掉重複的,比如上面的第二組和第三組就重複了(因為有2個3的)。這樣你就得到了結果18可以分為2個整數的分發時2和9,以及3和6,別忘了還有1和18。隨後如果要浮點數,那就沒完沒了了。

和90,和900都可以。

說下程式設計思路:

首先你要獲得16!中的質數陣列,就是寫成18=2*3*3這種形式。不需要算出結果,你只要算1~16的整數分解形式就可以。把這些質數放入陣列。

其次你需要不斷取陣列裡面的數,假設陣列裡面有n個數。開始取1個數作為你要分解的整數1,然後其他質數的積作為整數2。然後再取2個數的積作為整數1,其他整數的積為整數2。

如此反覆。不斷把你得到的整數1和整數2放入結果陣列中即可。

最後需要注意的是,需要排除重複的整數1和整數2,還有不要忘記了和這個組合,做事要嚴謹。

以上就是我的看法,如果還有不懂得可以繼續追問,希望解決你的問題。

花潮高精度電子計數秤怎麼用,有計數功能的電子秤要如何使用

搞不懂你是怎麼使用電子稱的,正常的步驟是 把容器放在電子稱上後按 去皮 然後數10個或者20個產品放在容器裡,輸入10或20後按 取樣 或者 個數設定 稍等電子稱顯示數量10或20,然後繼續放產品直到顯示400,取出400個產品,再繼續往容器裡放產品,等顯示400再取出產品,如此反覆。不知道你放了1...

幫忙用perl編寫個程式

自己寫吧,遇到什麼困難可以討論,打字不是我的強項 perl是指令碼語言還是什麼語言?perl 一般被稱為 實用報表提取語言 practicalextraction andreportlanguage 雖然有時被稱做 病態折中垃圾列表器 pathologicallyeclectic rubbish li...

求高手幫忙寫個c語言寫的51程式

科技藝術生活 為什麼要用24c02儲存,要求上電回零,即初始化了,那麼24c02不就沒有用了麼,再說了,許多微控制器自帶eeprom 你這用stc15f104 8腳 微控制器就可以了, 超級 在梯形圖中,將y0和y1的常閉觸點分別與對方的線圈串聯,可以保證它們不會同時為on,因此km1和km2的線圈...