I Googled "online bignum calculator" and this popped up:

https://defuse.ca/big-number-calculator.htm

Python is fine of course.

Bill.

On 23 November 2012 13:59, mgundes <mg...@hotmail.com> wrote:
>
>    By the way I use python for not too big number verification.
>    Is there any application or web site to easily verify big number
> multiplications?
>
>
> On Fri, Nov 23, 2012 at 3:51 PM, mgundes <mg...@hotmail.com> wrote:
>>
>>
>>      Opps, sorry Bill, I have miscalculated the expected result, I checked
>> again and found my mistake. Thank for your concern.
>>
>> Regards
>>
>>
>>
>> On Fri, Nov 23, 2012 at 3:26 PM, Bill Hart <goodwillh...@googlemail.com>
>> wrote:
>>>
>>> You must have a 32 bit system then.
>>>
>>> Perhaps if you tell us what result you are getting and what result you
>>> were expecting, we can help you more.
>>>
>>> Bill.
>>>
>>> On 23 November 2012 13:24, mgundes <mg...@hotmail.com> wrote:
>>> >
>>> >   I changed but the result are same as previous, since both are in same
>>> > size
>>> > in my system I guess.
>>> >
>>> >
>>> > On Fri, Nov 23, 2012 at 3:14 PM, Bill Hart
>>> > <goodwillh...@googlemail.com>
>>> > wrote:
>>> >>
>>> >> One problem is that you are using unsigned int, instead of mp_limb_t
>>> >> (which is probably unsigned long or unsigned long long on your
>>> >> machine).
>>> >>
>>> >> Bill.
>>> >>
>>> >> On 23 November 2012 13:12, mgundes <mg...@hotmail.com> wrote:
>>> >> >
>>> >> >    Hi Bill, thanks for reply.
>>> >> >
>>> >> >    I run simple code below for different lengths of array
>>> >> > muıltiplication
>>> >> > and I got weird results with gmp_printf(). I also printed c array
>>> >> > and it
>>> >> > seems true but printed result is weird. What is wrong or missing in
>>> >> > function
>>> >> > below?
>>> >> >
>>> >> > int main() {
>>> >> >
>>> >> >   unsigned int a[4] = {100, 20, 30, 40};
>>> >> >   unsigned int b[4] = {200, 10, 5, 120};
>>> >> >   unsigned int c[8];
>>> >> >
>>> >> >   memset(c, 0, 8 * sizeof(unsigned int));
>>> >> >   mpn_mul((mp_limb_t *) c,
>>> >> >           (mp_limb_t *) a, 1,
>>> >> >           (mp_limb_t *) b, 1);
>>> >> >
>>> >> >   for (int i=0; i<8; i++)
>>> >> >     printf("c[%d]: %u\n", i, c[i]);
>>> >> >   gmp_printf("\nresult: %Nu\n\n\n", c, 8);
>>> >> >
>>> >> >
>>> >> >   memset(c, 0, 8 * sizeof(unsigned int));
>>> >> >   mpn_mul((mp_limb_t *) c,
>>> >> >           (mp_limb_t *) a, 2,
>>> >> >           (mp_limb_t *) b, 3);
>>> >> >
>>> >> >   for (int i=0; i<8; i++)
>>> >> >     printf("c[%d]: %u\n", i, c[i]);
>>> >> >   gmp_printf("\nresult: %Nu\n\n\n", c, 8);
>>> >> >
>>> >> >   memset(c, 0, 8 * sizeof(unsigned int));
>>> >> >   mpn_mul((mp_limb_t *) c,
>>> >> >           (mp_limb_t *) a, 4,
>>> >> >           (mp_limb_t *) b, 4);
>>> >> >
>>> >> >   for (int i=0; i<8; i++)
>>> >> >     printf("c[%d]: %u\n", i, c[i]);
>>> >> >   gmp_printf("\nresult: %Nu\n\n\n", c, 8);
>>> >> >
>>> >> >
>>> >> >   return 0;
>>> >> > }
>>> >> >
>>> >> > Kind Regards,
>>> >> > Thanks
>>> >> >
>>> >> > MahmutG
>>> >> >
>>> >> >
>>> >> > On Fri, Nov 23, 2012 at 3:09 AM, Bill Hart
>>> >> > <goodwillh...@googlemail.com>
>>> >> > wrote:
>>> >> >>
>>> >> >> The result could be up to 8 limbs, which is why you should allocate
>>> >> >> 8
>>> >> >> limbs for c. The top limb might turn out to be zero of course.
>>> >> >>
>>> >> >> The easiest way to print the result is to use gmp_printf with the
>>> >> >> %N
>>> >> >> option for mpn's. You need to also give it the number of limbs, as
>>> >> >> documented on pages 67-68 of our documentation.
>>> >> >>
>>> >> >> Bill.
>>> >> >>
>>> >> >> On 23 November 2012 00:55, mgundes <mg...@hotmail.com> wrote:
>>> >> >> >
>>> >> >> > Hi,
>>> >> >> >
>>> >> >> > I am not good at arithmetic but I need to calculate
>>> >> >> > multiplication of
>>> >> >> > big
>>> >> >> > numbers. I will try to explain my need:
>>> >> >> >
>>> >> >> > For instance, if I have two 128 bit numbers represented with
>>> >> >> > arrays
>>> >> >> > below:
>>> >> >> >
>>> >> >> >        unsigned int a[4] = {100, 20, 30, 40};
>>> >> >> >        unsigned int b[4] = {200, 10, 5, 120};
>>> >> >> >        unsigned int c[4] = {0,0,0,0};
>>> >> >> >
>>> >> >> > I want to multiply a and b, then assign the result to the c:
>>> >> >> >
>>> >> >> >        mpn_mul_n((mp_limb_t *)c, (const mp_limb_t *)a, (const
>>> >> >> > mp_limb_t
>>> >> >> > *)b,
>>> >> >> > 4);
>>> >> >> >
>>> >> >> > Since mpn_mul takes result pointer as mp_limb_t type, then what
>>> >> >> > if
>>> >> >> > result
>>> >> >> > exceeds? I mean the result of two integer multiplication probably
>>> >> >> > exceeds
>>> >> >> > integer size. Is there any example for multiplication of big
>>> >> >> > numbers?
>>> >> >> > I
>>> >> >> > tried mpn_mul_n() as above and used mpn_get_str to see the result
>>> >> >> > but
>>> >> >> > I
>>> >> >> > guess I could not use correctly.
>>> >> >> >
>>> >> >> > Kind regards,
>>> >> >> > Thanks
>>> >> >> >
>>> >> >> > --
>>> >> >> > MahmutG
>>> >> >> >
>>> >> >> > --
>>> >> >> > You received this message because you are subscribed to the
>>> >> >> > Google
>>> >> >> > Groups
>>> >> >> > "mpir-devel" group.
>>> >> >> > To post to this group, send email to mpir-devel@googlegroups.com.
>>> >> >> > To unsubscribe from this group, send email to
>>> >> >> > mpir-devel+unsubscr...@googlegroups.com.
>>> >> >> > For more options, visit this group at
>>> >> >> > http://groups.google.com/group/mpir-devel?hl=en.
>>> >> >>
>>> >> >> --
>>> >> >> You received this message because you are subscribed to the Google
>>> >> >> Groups
>>> >> >> "mpir-devel" group.
>>> >> >> To post to this group, send email to mpir-devel@googlegroups.com.
>>> >> >> To unsubscribe from this group, send email to
>>> >> >> mpir-devel+unsubscr...@googlegroups.com.
>>> >> >> For more options, visit this group at
>>> >> >> http://groups.google.com/group/mpir-devel?hl=en.
>>> >> >>
>>> >> >
>>> >> >
>>> >> >
>>> >> > --
>>> >> > MahmutG
>>> >> >
>>> >> > --
>>> >> > You received this message because you are subscribed to the Google
>>> >> > Groups
>>> >> > "mpir-devel" group.
>>> >> > To post to this group, send email to mpir-devel@googlegroups.com.
>>> >> > To unsubscribe from this group, send email to
>>> >> > mpir-devel+unsubscr...@googlegroups.com.
>>> >> > For more options, visit this group at
>>> >> > http://groups.google.com/group/mpir-devel?hl=en.
>>> >>
>>> >> --
>>> >> You received this message because you are subscribed to the Google
>>> >> Groups
>>> >> "mpir-devel" group.
>>> >> To post to this group, send email to mpir-devel@googlegroups.com.
>>> >> To unsubscribe from this group, send email to
>>> >> mpir-devel+unsubscr...@googlegroups.com.
>>> >> For more options, visit this group at
>>> >> http://groups.google.com/group/mpir-devel?hl=en.
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > MahmutG
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> > Groups
>>> > "mpir-devel" group.
>>> > To post to this group, send email to mpir-devel@googlegroups.com.
>>> > To unsubscribe from this group, send email to
>>> > mpir-devel+unsubscr...@googlegroups.com.
>>> > For more options, visit this group at
>>> > http://groups.google.com/group/mpir-devel?hl=en.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "mpir-devel" group.
>>> To post to this group, send email to mpir-devel@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> mpir-devel+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/mpir-devel?hl=en.
>>>
>>
>>
>>
>> --
>> MahmutG
>
>
>
>
> --
> MahmutG
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To post to this group, send email to mpir-devel@googlegroups.com.
> To unsubscribe from this group, send email to
> mpir-devel+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mpir-devel?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-devel@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to