Home › Forums › C Programming › help

- This topic has 1 reply, 2 voices, and was last updated 14 years, 6 months ago by Humayan.

- AuthorPosts
- March 17, 2008 at 11:33 am #2078abhishek3013Participant
`#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. - March 17, 2008 at 2:34 pm #3359HumayanParticipant
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 ] = 1largeNumber [ 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

- AuthorPosts

- The forum ‘C Programming’ is closed to new topics and replies.