تعداد بازدید: 532

Math and Arithmetic logic in JavaScript

اعداد در برنامه نویسی کاربردهای بسیار زیادی دارند. مهم ترین شناسه یک موجودیت یک عدد است که به آن Identifier می گوییم که به اختصار id یا ID در منطق های برنامه نویسی است .

ملیات های ریاضی قسمت اعظم یک زبان برنامه نویسی و علم کامپیوتر است با این که در نرم افزار های مبتنی بر موجودیت های غیر ریاضی مثل محصول و غیر کمتر از عملیات های ریاضی استفاده می گردد اما فلسفه به وجود آمدن کامپیوتر حل مسایل ریاضی بوده است به همین دلیل هر زمان سراغ یک زبان برنامه نویسی رفتید مباحث ریاضی بخش های جدایی ناپذیر هستند.

رشته های تصادفی برای یکتا کردن موجودیت ها و المان ها از هم با استفاده از ترکیب حروف و اعداد امکان پذیر است . گاه یک عدد با تغییر مبنا و یک سری عملیات می تواند با همان ماهیت طول رشته متفاوتی داشته باشد و برای Encode و Decode از آن استفاده کنیم. عملیات های ریاضی معمولا قابل بازگشت هستند و برای رمزنگاری می توان از آن ها استفاده کرد.

برای تولید توکن یکتا می توان از اعداد و عملیات های آن استفاده کنیم. در نهایت عدد یکتا به ازای درخواست یا کاربر را با یک رمزنگاری تبدیل به یک توکن یکتا (که یکی از کاربرد های آن لاگین برای درخواست های موبایل است) بکنیم.

Math Reference

Math برای اجرای عملیات های ریاضی استفاده می شود . ثوابت ریاضی ویژگی ها (Attributes) و عملیات های ریاضی متد های (Methods) های آن ها است. برای استفاده از متد ها و ویژگی های Math لازم نیست instance از آن بگیریم و به صورت static می توان از آن ها استفاده کرد

توابع ریاضی و عملیات های آن ها در اجرای منطق های محض ریاضی کاربرد خواهند داشت اما گاه می توان برای اطمینان از یک عملیات از این ویژگی ها استفاده کرد.

Property Description
PI عدد پی که برابر با 3.141592653589793 است . این عدد یک ثابت ریاضی است برای بدست آوردن محیط و مساحت دایره . از این عدد و اعشار های آن می توان یک سری عدد تصادفی غیر یکسان و نزدیک به هم ساخت .

let x = Math.PI;
E این عدد که به عدد اویلر هم معروف است یک عدد بین ۲ و ۳ می باشد که رفتار مشخصی در عملیات های ریاضی دارد.

Math.E //2.718281828459045

Math Object Methods

Method Description
ceil نزدیک ترین عدد صحیح به سمت بالا upward to its nearest integer

Math.ceil(1.4) //2
floor نزدیکترین عدد صحیح به سمت پایین downward to its nearest integer

Math.floor(1.6) //1
round به نزدیکترین عدد صحیح مربوطه بر اساس اعشار آن می رود number to the nearest integer

let a = Math.round(2.60); //3
let b = Math.round(2.50); //3
let c = Math.round(2.49); //2
let d = Math.round(-2.60); //-3
let e = Math.round(-2.50); //-2
let f = Math.round(-2.49); //-2

به رفتار این متد در اعداد دقیقا وسط ۰/۵ در بازه مثبت و منفی دقت کنید.

trunc برگرداندن مقدار صحیح بدون توجه به موقعیت اعشار

Math.trunc(8.2); //8 
Math.trunc(8.8); //8
Math.trunc(8.5); //8
Math.trunc(8.6); //8
max برای بدست آوردن عدد با بیشترین مقدار در لیست اعداد ورودی آن است

let a = Math.max(5, 10); //10
let b = Math.max(0, 150, 30, 20, 38); //150
let c = Math.max(-5, 10); //10
let d = Math.max(-5, -10); //-5
let e = Math.max(1.5, 2.5); //2.5
min برای بدست آوردن عدد با کمترین مقدار در لیست اعداد ورودی

let a = Math.min(5, 10); //5
let b = Math.min(0, 150, 30, 20, 38); //0
let c = Math.min(-5, 10); //-5
let d = Math.min(-5, -10); //-10
let e = Math.min(1.5, 2.5); //2.5
random همیشه یک عدد مابین 0 و 1 بر می گرداند. این عدد یک تعداد مشخص اعشار دارد.

Math.random(); //0.23266188615460937
abs قدرمطلق

Math.abs(-7.25); //7.25
pow عملیات توان

Math.pow(4, 3); //4*4*4 = 64
sqrt عملیات جذر

Math.sqrt(9); //3
sign این متد اگر عدد پارامتر برابر با 0 باشد 0 برمی گرداند و اگر مثبت باشد +1 و اگر عدد منفی باشد -1 بر می گرداند.

Arithmetic Operators

operator Description
+ Addition
Subtraction
* Multiplication
/ Division
% بدست آوردن باقیمانده عدد در عملیات تقسیم (Remainder)

let x = 5;
let y = 2;
let z = x % y; //1
** توان (Exponentiation)

 let x = 5;
let z = x ** 2; //  25

متد Math.pow نیز همین منظور است.

++ یک پله افزایش

let x = 5;
x++;
5
x;
6
/*--------------------*/
let x = 5
++x
6
x
6

تفاوت ++x و x++ را در مثال بالا مشاهده می کنید. این عملیات دقیقا شبیه به عملیات — می باشد.

یک پله کاهش

let x = 5;
x--;
let z = x; //4
+= متغیر سمت چپ هم در عملیات جمع دخیل است هم در عملیات مقدار دهی (Addition and assignment)

let x = 10;
let y = 5;
x += y; // x = x + y
// x = 15 , y = 5
-= معادل تفریف و مقدار دهی (subtraction and assignment)

let x = 10;
let y = 5;
x -= y; // x = x - y 
//x=5 , y=5
*= معادل اعمال ضرب و مقدار دهی در متغیر سمت چپ

let x = 10;
let y = 5;
x *= y; // x = x * y 
// x = 50 , y = 5
/= معادل عملیات تقسیم و مقدار دهی (divion and assignment)
%= معادل عملیات باقیمانده و مقداردهی (reminder and assignment)

let x = 10;
let y = 5;
x %= y; // x = x % y
//x = 0 , y = 5

Random Number

خاصیت اعداد میان 0 , 1 : اگر هر عدد صحیح را در یکی از اعداد میان صفر و یک ضرب کنیم مقدار آن کوچکتر می شود و اگر در اعداد میان صفر و یک تقسیم کنیم مقدار آن بزرگتر از عدد است (برعکس حالت عادی که در ضرب عدد بزرگتر از عدد فعلی بود و در تقسیم کوچکتر بود) .

از این خاصیت برای تولید عدد تصادفی استفاده می کنیم.

Math.floor((Math.random() * 100));

در عملیات بالا یک عدد تصادفی بین 0 تا 10 ایجاد می کنیم. برای این مورد نیاز است که یک عدد ما بین 0 و 1 ایجاد کنیم . برای این کار لازم است از متد random استفاده کنیم . بعد آن را در عددی که قرار است مقدار آن ماکزیمم عدد تصادفی باشد ضرب کنیم. عدد بدست آمده را به بال رند می کنیم. برای این که آخرین عدد یعنی مثلا 10 را هم داشته باشیم با 1 جمع می کنیم و اگر نیازی به این حساسیت نبود جمع آخر را کنسل کنیم.

Math.floor((Math.random() * 100) + 1);

برای تبدیل رشته به عدد از تابع parseInt استفاده می کنیم.

parseInt("5") //5

مطالب مشابه

webpack javascript module bundler

Webpack Module Bundler Part 2

وب پک یک نرم افزار است که در قالب یک کتابخانه و یک ابزار توسعه برای ساخت سایر نرم افزار ها در با استفاده از node...

Destructuring Assignment ES6

عبارات Destruturing در جاوا اسکریپت این اجازه را به ما می دهد که بتوانیم یک سری متغیر ها را از داخل یک سری اشیا و...

Class in Javascript

class ها یک قابلیت برای تعریف یک سری نوع داده های خاص بر اساس موجودیت های جاری در سیستم است . به طور مثال برای تعریف یک...

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای Math and Arithmetic logic in JavaScript

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *