مهدی عادلی فر
بنیانگذار توسینسو و برنامه نویس

معرفی 2 روش به توان رساندن اعداد در جاوا به زبان ساده

چگونه از توان در جاوا استفاده کنیم؟ چگونه از توان عدد در جاوا استفاده کنیم؟ استفاده از عمل به توان رساندن در بسیاری از برنامه های ریاضیاتی کاربرد دارد. محاسبه یک عدد به توان عدد دیگر به این معنی است که عدد اولی را به تعداد عدد دومی درخودش ضرب کنیم. در جاوا به دوحالت می توان عمل توان را انجام داد که به بررسی آنها می پردازیم:

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پیاده سازی با استفاده از عمل ضرب

همان طور که گفتیم توان از ضرب یک عدد در خودش تشکیل شده است. می توان برای پیاده سازی توان در جاوا از ضرب اعداد استفاده کرد. برای مثال به کد زیر توجه کنید:

double square =  a *  a;                            // حالت بهینه
double cube =  a *  a *  a;      // حالت غیر بهینه
double cube =  a *  square;                  // حالت بهینه
double quad =  a *  a *  a *  a;            // حالت غیر بهینه
double quad =  square *  square;             // حالت بهینه

برای ضرب دو عدد بهتر است که دو به دو این ضرب انجام شود.

استفاده از متد Math.pow

راه دیگر استفاده از عمل توان این است که از تابع Math.pow استفاده کینم. این تابع دو ورودی می گیرد که اولی پایه توان و دومی توان است و اولی را به توان عدد دومی می رساند. مثال این تابع را در کد زیر مشاهده می کنید.

double cube = Math.pow(a, 4);

نکته ای که وجود دارد این است که از این تابع در زمانی استفاده می شود که نتوان با استفاده از عمل ضرب کار به توان رساندن را انجام داد. برای مثال وقتی که توان کسری باشد. پس در مواقع ضروری از این تابع استفاده کنید و سعی کنید کار به توان رساندن را با استفاده از عمل ضرب انجام دهید. دلیل این گفته هم این است که عمل ضرب 300 الی 600 برابر سریع تر از این تابع است. Itpro باشید

نویسنده: مهدی عادلی فر

منبع: انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.


مهدی عادلی فر
مهدی عادلی فر

بنیانگذار توسینسو و برنامه نویس

مهدی عادلی، بنیان گذار TOSINSO. کارشناس ارشد نرم افزار کامپیوتر از دانشگاه صنعتی امیرکبیر و #C و جاوا و اندروید کار می کنم. در زمینه های موبایل و وب و ویندوز فعالیت دارم و به طراحی نرم افزار و اصول مهندسی نرم افزار علاقه مندم.

نظرات