Home Forums C Programming help

Viewing 1 reply thread
  • Author
    Posts
    • #2078
      abhishek3013
      Participant
      #include
      int main()
      {
            int num = 0;
            int divisor = 0;
            int remain = 0;
            int  quotient = 1;
           
            printf("Enter a numbern");
            scanf("%d", &num);
           
            printf("Enter a divisor to your number"n);
            scanf("%d", &divisor);
       
            quotient = num/divisor;
            remain = num % divisor;
       
            printf("Quotient is: %dn", quotient);
            printf("Remainder is: %dn", remain);
      }

       
      how do i make my program take very large positive numbers without using double precision integer type. for instance:
       
      the user should be able to enter a number like:
      5245456638463644648646486464348443466648436446
       
      and get something like:
      4243545636758689184912673254783849162783326564 as its quotient and 76586798707897 as its remiander.
       
      i’ll also like to know if its never possible to get that using just “int type”. thanx to all.

    • #3359
      Humayan
      Participant

      Usually what is done in this case is one is required to write a large number module for your program. A array of the smallest integer type on your machine is usually used ( a short type or something like that ). You will usually use an array like:
       
      short largeNumber [ NUMBER_OF_DIGITS ];
       
      and then you will represent large numbers like:
       
      12345….
       
      largeNumber [ 0 ] = 1

      largeNumber [ 1 ] = 2

      largeNumber [ 2 ] = 3

      largeNumber [ 3 ] = 4

      largeNumber [ 4 ] = 5
      ……..
       
      then you write functions to read , write and do mathematical computations on the arrays like:
       

      int * num;
      int * num2;
      int * sum;
       
      initialize ( num , size ); //allocate memory
      initialize ( num2 , size ); //allocate memory
       
      sum = add ( num , num2 ); //sum 2 large numbers
       
      printf ( "the sum is n" );
      printLargeNumber ( sum ); //output sum
       

       

Viewing 1 reply thread
  • The forum ‘C Programming’ is closed to new topics and replies.