找個時間整理一下**,下次留著用,主要是大數乘法和大數除法的**,坑了爹乙個下午,很多的細節都疏忽了。
反轉字串函式,方便索引各位數:
void reverse(char * c)
// for
while(c) //處理進製,直到進製為0
// while
}// for
//將兩個乘數和乘積都改為大端法
reverse(dest);
reverse(srca);
reverse(srcb);
}
除法有所不同的是,從被除數的高位開始處理,所以大端法就可以了,在division內部不用做任何的翻轉。
void division(char * src,int n,char * dest)
// if
}// for
//::memset(src,0,len);
//memcpy(src,dest,strlen(dest));
}
是可以直接用的模板,
可能會有bug,但是問題應該不大。可以參考一下。
本文完 2012-03-23
搗亂小子
大數思維 乘法 除法
整型 大數乘法 include include include include using namespace std intmain p a i 0 存放位上的資料 num 0 初始化進數為 0 k t 初始化起始位置 for int j b.size 1 j 0 j q b j 0 temp p...
高精度 大數加法 乘法 除法 冪 模板
一 加法 1 普通兩個大數相加 如下 include include include void fan char s int main else p 0 if p z i 1 z i 0 fan x fan y fan z printf s s s n x,y,z return 0 2 多個大數相加...
大數加法 減法 乘法 除法
大數加法 實現 include include typedef char str 1000 void printnum int sum int len 輸出 void add str a int len a str b int len b 計算a b 只能 while len a 1 if c 0 ...