اعداد در ++C

در حالت عادی، هنگام کار با اعداد، از نوع داده‌های پایه مانند int، short، long، float، double و … استفاده می‌کنیم. هنگام صبحت از نوع داده‌های ++C، نوع داده‌های عددی، مقادیر احتمالی و محدوده آنها را توضیح داده‌ایم.

تعریف اعداد در ++C

در آموزش‌های پیشین اعداد مختلف را تعریف کرده و به آنها پرداختیم، مثال خوب دیگری از اعداد مختلف در ++C را در زیر آورده ایم.

#include <iostream>
using namespace std;
 
int main () {
   // number definition:
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   // number assignments;
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   // number printing;
   cout << "short  s :" << s << endl;
   cout << "int    i :" << i << endl;
   cout << "long   l :" << l << endl;
   cout << "float  f :" << f << endl;
   cout << "double d :" << d << endl;
 
   return 0;
}

با کامپایل و اجرای کد فوق، خروجی زیر تولید می‌شود.

short  s :10
int    i :1000
long   l :1000000
float  f :230.47
double d :30949.4

عملیات ریاضی در ++C

علاوه بر توابع مختلفی که می‌توان ایجاد کرد، ++C توابع مفیدی دارد که می‌توانید آنها را به کار گیرید. این توابع در کتابخانه‌های استاندارد C و ++C موجود بوده و توابع درونی (built-in) نام دارند. این توابع را می‌توان به برنامه ضمیمه کرده و استفاده کنید.

++C حاوی منبعی غنی از عملیات ریاضی است که می‌توان روی اعداد مختلف اعمال کرد. جدول زیر لیست توابع درونی مفید ++C را فراهم آورده است.

مطلب پیشنهادی:  اورلود کردن عملگرهای باینری در ++C

برای استفاده از این توابع باید هدر فایل ریاضی <cmath> را به برنامه ضمیمه کرد.

ردیف

توابع و کاربرد آنها

1

;(double cos(double

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

2

;(double sin(double

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

3

;(double tan(double

این تابع یک زاویه (نوع double) دریافت کرده و تانژانت آن را برمی‌گرداند.

4

;(double log(double

این تابع یک عدد دریافت کرده و لگاریتم طبیعی آن را برمی‌گرداند.

5

;(double pow(double, double

عدد اول ، عددی است که می‌خواهیم به توان برسانیم و عدد دوم، عدد توان است.

6

;(double hypot(double, double

اگر به این تابع طول دوضلع یک مثلث قائم را بدهیم، طول وتر آن بازگردانده می‌شود.

7

;(double sqrt(double

این تابع یک عدد گرفته و ریشه دوم آن را برمی‌گرداند.

8

;(int abs(int

این تابع قدرمطلق عدد صحیح ورودی را برمی‌گرداند.

9

;(double fabs(double

این تابع قدرمطلق هر مقدار اعشاری ورودی را برمی‌گرداند.

10

;(double floor(double

عدد صحیح کوچکتر یا مساوی عدد ورودی  را یافته و برمی‌گرداند.

مثال زیر برخی از این عملیات ریاضی را نشان می‌دهد.

#include <iostream>
#include <cmath>
using namespace std;
 
int main () {
   // number definition:
   short  s = 10;
   int    i = -1000;
   long   l = 100000;
   float  f = 230.47;
   double d = 200.374;

   // mathematical operations;
   cout << "sin(d) :" << sin(d) << endl;
   cout << "abs(i)  :" << abs(i) << endl;
   cout << "floor(d) :" << floor(d) << endl;
   cout << "sqrt(f) :" << sqrt(f) << endl;
   cout << "pow( d, 2) :" << pow(d, 2) << endl;
 
   return 0;
}

با کامپایل و اجرای کد فوق، خروجی زیر تولید می‌شود.

sign(d)     :-0.634939
abs(i)      :1000
floor(d)    :200
sqrt(f)     :15.1812
pow( d, 2 ) :40149.7

اعداد تصادفی در ++C

موارد بسیاری پیش می‌آید که نیازمند تولید اعداد تصادفی باشیم. برای تولید اعداد تصادفی در واقع باید دو تابع را بشناسیم. تابع اول ()rand می‌باشد، این تابع تنها یک شبه عدد تصادفی برمی‌گرداند. برای برطرف کردن این مشکل باید تابع ()srand را فراخوانی کنیم.

مثال ساده‌ای از تولید چند عدد تصادفی در زیر آمده است. این مثال از تابع ()time برای بدست آوردن تعداد ثانیه‌های روی سیستم‌تان استفاده می‌کند تا  تابع ()rand را به صورت تصادفی تغذیه کند.

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;
 
int main () {
   int i,j;
 
   // set the seed
   srand( (unsigned)time( NULL ) );

   /* generate 10  random numbers. */
   for( i = 0; i < 10; i++ ) {
      // generate actual random number
      j = rand();
      cout <<" Random Number : " << j << endl;
   }

   return 0;
}

با اجرای این کد، خروجی زیر تولید می‌شود.

Random Number : 1748144778
Random Number : 630873888
Random Number : 2134540646
Random Number : 219404170
Random Number : 902129458
Random Number : 920445370
Random Number : 1319072661
Random Number : 257938873
Random Number : 1256201101
Random Number : 580322989

منبع: ترجمه از سایت tutorialspoint.com

در جلسه بعدی آموزش ++C با ما همراه باشید. اگر به الکترونیک علاقمند هستید توصیه میکنیم درس های مفاهیم پایه الکترونیک را مطالعه کنید.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>
مطلب پیشنهادی:  اورلود کردن عملگرهای یگانی در ++C

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

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