大きい整数の演算をしようとすると、Double64型になりますが、Double型の最大値は。18,446,744,073,709,551,615です。これ以上の値になるとコンパイルエラーが発生します。
let i:UInt64 = 111111111111111111111111111111111111111111111111111111111111111
let j:UInt64 = 222222222222222222222222222222222222222222222222222222222222222
では計算する前にオーバーフローエラーとなります。
このように大きな整数の四則計算をするためには対応する演算ルーチンを作成します。順次四則演算関数を説明しますが、以降の言語はswiftを使っています。他の言語については移植してください。
加法演算関数

検算
プログラムでの演算の正確性を確かめるためにUInt型での計算と比較します。
num1 = "104858724386"
num2 = "747298501704"
として計算すると
str1 + str2 = 852157226090 (Uint型による計算)
num1 + num2 = 852157226090(プログラムによる計算)
となります。
テスト?
でたらめに打った数十桁の数字で(まだ乱数関数を作成していないので)計算してみます。
let num1 = "367954287974961764347127159537273415516573722196765496572165717647978979721929576277271894157657283278672328698732848536427685"
let num2 = "7472197856282739135751468148957651837176169819759686712676519656382516496218347618785675179187515682589186713265798785982795687582857687298501704"
num1 + num2 =
7472197856282739136119422436932613601523296979296960128193093378579281992790513336433654158909445258866458607423456069261468016281590535834929389