(C ++) أرقام حقيقية


الأعداد الحقيقية <قبل> تعويم ص = 5.0 قيمة 5.0 هي رقم يتم تمثيله في صورة كسر عشري (يحتوي على عدد صحيح وجزء كسري). في علوم الكمبيوتر ، تسمى هذه الأرقام أرقامًا حقيقية.
نبسب ؛
الرقم الحقيقي هو رقم يحتوي على جزء صحيح وجزء كسري. يتم فصل الأجزاء الصحيحة والكسرية عن بعضها بواسطة نقطة ، وليس فاصلة كما في الرياضيات.
حتى إذا كان الجزء الكسري من الرقم يساوي صفرًا ، كما هو الحال في المتغير r في المثال ، فسيظل المترجم ينشئ متغيرًا حقيقيًا في الذاكرة. النقطة ، كما كانت ، إشارة للمترجم بضرورة إنشاء متغير حقيقي. & nbsp؛

أعداد كبيرة جدًا وصغيرة جدًا & nbsp ؛ تُكتب باستخدام "النقطة العائمة" (في ما يسمى بالشكل العلمي ). نبسب ؛
في الشكل العلمي ، يتم تمثيل الرقم على أنه mantissa (جزء مهم من العدد) و الأس . عند الكتابة ، يتم فصل الجزء العشري والأس عن بعضهما البعض بالحرف e (يشير إلى 10 إلى حد ما). & nbsp؛
على سبيل المثال ، يمكنك تخزين قيمة شحنة الإلكترون في متغير & nbsp؛
(& nbsp؛ \ (1،60217662 \ مرات 10 ^ {- 19} \) & nbsp؛ Kl) ، مكتوب كـ & nbsp؛ <قبل> تعويم El = & nbsp؛ 1.60217662e-19 // لأمر إيجابي ، يمكن حذف علامة +
لا يمكن تخزين جميع الأرقام الحقيقية تقريبًا في ذاكرة الكمبيوتر بدقة تامة ، حيث يتم تخصيص عدد محدود من وحدات البت لتخزينها. لذلك ، عند الحساب بالأرقام الحقيقية ، تتراكم الأخطاء المرتبطة بعدم دقة التمثيل. علاوة على ذلك ، كلما قلت المساحة المخصصة ، زاد هذا الخطأ. لتقليل الخطأ في C ++ ، يتم استخدام النوع double ، والذي يخزن رقمًا حقيقيًا بدقة مضاعفة في الذاكرة (يشغل ثمانية بايت في الذاكرة ، بينما النوع float - 4 بايت).

أدخل يمكنك إدخال العديد من المتغيرات الحقيقية من دفق الإدخال وكتابتها إلى المتغيرات بالطريقة القياسية: تعويم س ، ص ؛ سينما & GT ؛ & GT. x & gt؛ & gt؛ ذ ؛ يدخل الرقم الأول في المتغير x ، بينما يدخل الرقم الثاني في المتغير y .



خاتمة عند عرض الأرقام الحقيقية ، يتم عرض المنازل العشرية 6 افتراضيًا ، مع تحديد التنسيق العلمي أو النقطة الثابتة تلقائيًا.
يمكن تخصيص تنسيق الإخراج. لهذا الغرض ، يتم استخدام مكتبة إضافية iomanip - معالجات تتحكم في الإخراج.
للإخراج بتنسيق النقطة الثابتة ، يتم استخدام معالج & nbsp؛ ثابت ، للتنسيق العلمي - علمي . ثم تحتاج إلى تحديد عدد الأرقام في الجزء الكسري باستخدام مناور & nbsp؛ setprecision () . & nbsp؛ باستخدام & nbsp؛ setw () مناور ، يمكنك تعيين إجمالي عدد المناصب المخصصة لإخراج الرقم.

نبسب ؛
مثال تعويم س = 1.0 / 6 ؛ كوت & lt؛ & lt؛ ثابت & lt؛ & lt؛ setprecision (9) ؛ // ضبط لعرض 9 أرقام في الجزء الكسري كوت & lt؛ & lt؛ تعيين (12) العلامة & lt؛ & lt؛ العاشر ؛
ستظهر الشاشة <قبل> _0.166666672
يمكن كتابة جميع الأوامر في سطر واحد: <قبل> كوت & lt؛ & lt؛ ثابت & lt؛ & lt؛ setprecision (9) العلامة & lt؛ & lt؛ تعيين (12) العلامة & lt؛ & lt؛ x ؛

العمليات بأرقام حقيقية. وحدة cmath

عند العمل بأرقام حقيقية ، يمكننا استخدام وحدة math المألوفة بالفعل ، والتي تحتوي على عدد كبير من الوظائف المضمنة. & nbsp؛
عند حل المشكلات ، غالبًا ما يكون من الضروري تقريب الأعداد الحقيقية إلى أقرب قيم عدد صحيح. هناك نوعان من الوظائف لهذا.

بحاجة إلى التذكر! 1. مع تحويل نوع صريح (& nbsp؛ float x = 1.5؛ int y = int (x)) & nbsp؛ - & nbsp؛ يتم قطع الجزء الكسري من الرقم الحقيقي ( y = 1) ؛ & nbsp؛
2. وظيفة floor (x) - & nbsp؛ إرجاع أكبر عدد صحيح أصغر من أو يساوي & nbsp؛ x & nbsp؛ (التقريب للأسفل)؛
3. نبسب ؛ وظيفة ceil (x) - & nbsp؛ إرجاع أصغر عدد صحيح أكبر من أو يساوي & nbsp؛ x & nbsp؛ (التقريب لأعلى).

فيما يلي أكثر الوظائف المفيدة الموجودة في وحدة cmath . <الجسم>
الوظيفة الوصف
التقريب
الجولة (x)
سي ++ 11
لتقريب رقم إلى أقرب عدد صحيح. إذا كان الجزء الكسري من الرقم 0.5 ، فسيتم تقريب الرقم إلى أقرب رقم صحيح. & nbsp؛
اقتطاع (x)
سي ++ 11
تجاهل الجزء الكسري
أرضية (س) لتقريب رقم لأسفل ("floor") ، وبالتالي & nbsp؛ floor (1.5) & nbsp؛ == & nbsp؛ 1 ، & nbsp؛ floor (-1.5) & nbsp؛ == & nbsp؛ -2
سقف (x) لتقريب الرقم لأعلى ("السقف") ، بينما & nbsp؛ ceil (1.5) & nbsp؛ == & nbsp؛ 2 ، & nbsp؛ ceil (-1.5) & nbsp؛ == & nbsp؛ -1
abs (x) Modulo (قيمة مطلقة).
fabs (x) الرقم الحقيقي للموديل
الجذور واللوغاريتمات
sqrt (x) الجذر التربيعي. الاستخدام: y = sqrt (x)
pow (x، y) ترفع x إلى القوة y. & nbsp؛ \ (x ^ y \)
السجل (x) اللوغاريتم الطبيعي. & nbsp؛
exp (x) قاعدة اللوغاريتمات الطبيعية e = 2.71828 ...
علم المثلثات
sin (x) جيب الزاوية المحددة بالتقدير الدائري
cos (x) جيب التمام لزاوية محددة بالتقدير الدائري
tan (x) ظل الزاوية المحددة بالتقدير الدائري
asin (x) قوس قوس ، إرجاع القيمة بالتقدير الدائري
acos (x) قوس جيب التمام ، يعرض القيمة بالتقدير الدائري
atan (x) Arctangent ، ترجع القيمة بالتقدير الدائري
atan2 (y، x) الزاوية القطبية (بالتقدير الدائري) للنقطة (س ، ص).