منبع اصلی نوشتار زیر در این لینک قرار دارد

ورژن جدید gmp ریلیز شد

به گزارش بنیاد تبریکس ورژن جدید gmp ریلیز شد .

در Thu, 07 Feb 2013 20:53:33 نسخه GMP 5.1.0 ریلیز شد . 

حال GMP چیست ؟

\"gmp

GMP کتابخانه رایگان برای برنامه های  شما  با دقت دلخواه است، عاملی  بر روی اعداد صحیح امضا شده، اعداد گویا، اعداد ممیز شناور است. 

هدف اصلی این برنامه ایجاد برنامه کاربردی برای  رمزنگاری و تحقیقات، اینترنت، برنامه های امنیتی، سیستم های جبر، تحقیق جبر محاسباتی، و غیره است . gmp برنامه ای برای ضرب و محاسبه اعداد بزرگ است . این برنامه  با مجوز lgpl ارایه میشود . برای اطلاعات بیشتر میتوانید به سایت http://gmplib.org تشریف ببرید .

برای دانلود این برنامه میتوانید از لینک های زیر استفاده کنید :

  ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.0a.tar.xz

    ftp://ftp.gnu.org/gnu/gmp/gmp-5.1.0a.tar.bz2

    ftp://ftp.gmplib.org/pub/gmp-5.1.0/gmp-5.1.0a.tar.xz

    ftp://ftp.gmplib.org/pub/gmp-5.1.0/gmp-5.1.0a.tar.bz2

 

برای نمونه ما در این کد ساده از این برنامه استفاده میکنیم : 

Here is an example of C code showing the use of the GMP library to multiply and print large numbers:

#include 
#include 
#include 
 
int main(void)
{
 mpz_t x;
 mpz_t y;
 mpz_t result;
 
 mpz_init(x);
 mpz_init(y);
 mpz_init(result);
 
 mpz_set_str(x, "7612058254738945", 10);
 mpz_set_str(y, "9263591128439081", 10);
 
 mpz_mul(result, x, y);
 gmp_printf("\\n    %Zd\\n*\\n    %Zd\\n--------------------\\n%Zd\\n\\n", x, y, result);
 
 /* free used memory */
 mpz_clear(x);
 mpz_clear(y);
 mpz_clear(result);
 return EXIT_SUCCESS;
}

 

 

 

 

 

 

 

 

 

 

This code calculates the value of 7612058254738945 × 9263591128439081.

Compiling and running this program gives this result. (The -lgmp flag is used if compiling on Unix-type systems.)

    7612058254738945
*
    9263591128439081
--------------------
70514995317761165008628990709545

 

 

 

 

 

 

 

 

 

 

For simplicity, one can write instead the following equivalent C++ program. (The -lgmpxx -lgmp flags are used if compiling on Unix-type systems.)

#include 
#include 
 
int main()
{
  mpz_class x("7612058254738945");
  mpz_class y("9263591128439081");
 
  std::cout << "\\n    " << x << "\\n*\\n    " << y;
  std::cout << "\\n--------------------\\n" << x * y << "\\n\\n";
}
 

 

 

 

 

 

 

 

 

 

 

[]

 



برچسب ها : , , , , , , ,