高精減:
思緒
判斷被減數與減數的大小
如果被減數不小於減數,開始通過高精減演算法運算
如果被減數小於減數,交換兩個數的位置,先輸出乙個" - ",再通過高精減演算法運算
**如下:
#define _crt_secure_no_warnings
#include
#include
#include
//結構體重命名
typedef
struct
highacc;
void
dealnumber
(highacc *a, highacc *b)
; a->len =
strlen
(a->data)
; b->len =
strlen
(b->data);if
((a->len < b->len)
||(a->len == b->len)
&&strcmp
(a->data, b->data)
<0)
else
}//逆序陣列並將字元轉化為數字
void
inverse
(highacc *h)
}// 高精減演算法
highacc minus
(highacc m_num1, highacc m_num2)
;int i;
int count =0;
for(i =
0; i < m_num1.len; i++
) sum.data[i]
= m_num1.data[i];}
while
((sum.data[
--i]==0
))sum.len = m_num1.len;
return sum;
}//數字再逆序列印(這樣列印出來後,看起來就是順序)
void
printnumber
(highacc h)
}int
main()
; highacc num2 =
; highacc sum;
scanf
("%s%s"
, num1.data, num2.data)
;dealnumber
(&num1,
&num2)
; sum =
minus
(num1, num2)
;printnumber
(sum)
;putchar
('\n');
system
("pause");
return0;
}
高精度減法 C
仿照豎式減法,先對其,再對應位相減。演算法處理時,先比較大小,用大的減小的,對應位再比較大小,用於作為借位符。include include define maxsize 20 define maxoutsize maxsize 2 using namespace std intmain b max...
高精度減法(c )
每當要進行精度較高的運算時,就要用到高精度。下圖是各個型別的數值範圍 如果想不起各個型別佔多少位元組,可以採用下面的方法 printf d d sizeof int sizeof long long 格式為 sizeof 資料型別 可以把值賦值給乙個變數,也可以直接輸出 好了,回到正點。我們先看例題...
高精度減法 c
兩個整數 a,b 第二個可能比第乙個大 結果 是負數要輸出負號 常規思路,不花裡胡哨,通俗易懂。else m 0不用借位 lenb lena while lena 1 因為a字元陣列長度始終不小於b字元陣列長度,所以lenb到0時lena還可能沒到0,此後處理的是a比b高出的位,例如1299 20則...