91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中怎么利用string實現大數減法運算

發布時間:2021-07-06 17:37:41 來源:億速云 閱讀:164 作者:Leah 欄目:編程語言

這期內容當中小編將會給大家帶來有關C++中怎么利用string實現大數減法運算,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

項目要點

1.大數指的是遠超long long int的數據

2.將大數用矩陣進行存儲,并通過矩陣實現運算

3.本人采用字符串進行存儲,應注意char的特點

比如:

char a=161;

cout<<(int)a;

此時會輸出-95,而不是161,char類型首個比特位是作為正負號的

減法,此處只做自然數加法,因為存在負整數的話可以使用自然數加法來處理,只需判斷正負再看加減即可

運行截圖及代碼如下

#include<iostream>#include<string>#include<algorithm>using namespace std;#define n 10string dezero(string a)//用來去掉正數前面的0,也就是說可以輸入000001類似這樣的數字{ long int i; for(i=0;i<a.length();i++) { if(a.at(i)>48) break; } if(i==a.length()) return "0"; a.erase(0,i); return a;}int judge(string a,string b)//判斷兩個正數的大小{ if(a.length()>b.length()) return 1; if(a.length()<b.length()) return -1; long int i; for(i=0;i<a.length();i++) { if(a.at(i)>b.at(i)) return 1; if(a.at(i)<b.at(i)) return -1; } return 0;}string minus(string a,string b)//自然數減法{ a=dezero(a); b=dezero(b); long int i,j=0; string c="0"; string c1,c2; string d="-"; if(judge(a,b)==0) return c; if(judge(a,b)==1) { c1=a; c2=b; } if(judge(a,b)==-1) { c1=b; c2=a; j=-1; } reverse(c1.begin(),c1.end()); reverse(c2.begin(),c2.end()); for(i=0;i<c2.length();i++) { if(c2.at(i)>=48&&c2.at(i)<=57) c2.at(i)-=48; if(c2.at(i)>=97&&c2.at(i)<=122) c2.at(i)-=87; } for(i=0;i<c1.length();i++) { if(c1.at(i)>=48&&c1.at(i)<=57) c1.at(i)-=48; if(c1.at(i)>=97&&c1.at(i)<=122) c1.at(i)-=87; } for(i=0;i<c2.length();i++) { c1.at(i)=c1.at(i)-c2.at(i); } for(i=0;i<c1.length()-1;i++) { if(c1.at(i)<0) {  c1.at(i)+=n;  c1.at(i+1)--; } } for(i=c1.length()-1;i>=0;i--) { if(c1.at(i)>0) break; } c1.erase(i+1,c1.length()); for(i=0;i<c1.length();i++) { if(c1.at(i)>=10) c1.at(i)+=87; if(c1.at(i)<10) c1.at(i)+=48; } reverse(c1.begin(),c1.end()); if(j==-1) c1.insert(0,d); return c1;}int main(){ string a,b; while(cout<<"input:"&&cin>>a>>b) { cout<<"output:"<<minus(a,b)<<endl; } return 0;}

上述就是小編為大家分享的C++中怎么利用string實現大數減法運算了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

分宜县| 德清县| 吉木萨尔县| 嘉兴市| 松潘县| 新和县| 满洲里市| 宝清县| 山丹县| 阿克| 昂仁县| 米泉市| 灵丘县| 渭南市| 许昌市| 乌鲁木齐县| 宜宾市| 集安市| 酒泉市| 汕头市| 岱山县| 三亚市| 灌阳县| 麟游县| 大宁县| 阳高县| 通许县| 定西市| 毕节市| 江口县| 个旧市| 庄浪县| 景东| 高平市| 化隆| 商南县| 金川县| 得荣县| 辽源市| 错那县| 余姚市|