#include#include#include#includechar* bigintminus( const char* numstr1, const char* numstr2 )
else if ( len1 < len2 )
else
else
}int tmpbigger[ resultlen ];
int tmpsmaller[ resultlen ];
int tmpresult[ resultlen ];
memset( tmpbigger, 0, resultlen * sizeof( int ) );
memset( tmpsmaller, 0, resultlen * sizeof( int ) );
memset( tmpresult, 0, resultlen * sizeof( int ) );
int i, j, k;
if ( bfirstisbigger )
for ( j = 0; j < len2; j++ )
}else
for ( j = 0; j < len1; j++ )
}// 求差
int currminus = 0;
for ( k = 0; k < resultlen; k++ )
else // 當前相減為負
}k = resultlen -1;
while( !tmpresult[ k ] )
for ( i = 0; i <= k; i++ )
*( minusresult + i ) = '\0';
return minusresult;
}int main()
// main output
kennie@cbib:~/cplusplus$ g++ -o bigintminus.out bigintminus.cpp
kennie@cbib:~/cplusplus$ ./bigintminus.out
198345793 - 4943094930439340493039472 = -4943094930439340294693679
大整數的相加 相減和相乘
include include using namespace std string sub string s1,string s2 比較兩個正數的大小 inline int comparedata const string s1,const string s2 相加 string add stri...
unsigned整數相減溢位問題
平時工作中接觸到的整數都是無符號整數,很少有整數溢位的業務場景,最近遇到個整數溢位問題,故專門寫篇blog記錄下,本文不會 整數溢位背後的原理,是一篇總結溢位規律的文章,以4位元組整數為例,下unsigned整數相減溢位問題。直接擼 include int main 執行結果如下 a 0,b fff...
C 大整數除法 大整數乘法
l1 046.整除光棍 這裡所謂的 光棍 並不是指單身汪啦 說的是全部由1組成的數字,比如1 11 111 1111等。傳說任何乙個光棍都能被乙個不以5結尾的奇數整除。比如,111111就可以被13整除。現在,你的程式要讀入乙個整數x,這個整數一定是奇數並且不以5結尾。然後,經過計算,輸出兩個數字 ...