Page cover

Long Integer Operations

Long Int Addition or Subtraction

#include<iostream>
using namespace std;

int main() {

     int a[] = {9, 8, 5, 2, 8};
     int i = sizeof(a)/sizeof(int);

     int b[] = {0, 1, 7, 4};
     int j = sizeof(b)/sizeof(int);

     int c[((i>j)? (i+1): (j+1))], k = ((i>j)? i: j);

     int carry = 0, remainder, quotient;

     for (i -= 1, j -= 1; i >= 0 && j >= 0; i--, j--) {
          remainder = (a[i] + b[j] + carry) % 10;
          quotient = (a[i] + b[j] + carry) / 10;

          c[k--] = remainder;
          carry = quotient;
     }

     if(j >= 0) {
          for (; j >= 0 ; j--) {
               c[k--] = (b[j] + carry) % 10;   
               carry = (b[j] + carry) / 10;   
          }
     }
     else if(i >= 0) {
          for (; i >= 0 ; i--) {
               c[k--] = (a[i] + carry) % 10;   
               carry = (a[i] + carry) / 10;   
          }
     }
     
     c[0] = carry;

     int size = sizeof(c)/sizeof(int);

     for (i = 0; i < size; i++) {
          cout << c[i] << ' ';
     }

     return 0;
}

Long Int Multiplication

Last updated

Was this helpful?