>> DAVID MALAN: اب آپ کے دماغ اڑا دو.
تقسیم حقیقی دنیا کے 1 میں باہر کر دیتا ہے 10 کی طرف سے 1/10، یا 0.1 یقینا ہے.
لیکن کمپیوٹر میں صرف ایک محدود ہے بٹس کی تعداد ہے جس کے ساتھ کرنے کے لئے
تعداد کی نمائندگی کرتے ہیں، آپ کو ہمیشہ نہیں کر سکتے ہیں کے ساتھ 1/10 کی طرح تعداد کی نمائندگی
کامل صحت سے متعلق.
دوسرے الفاظ میں، کمپیوٹر کبھی کبھی ہے فیصلے کالز اور نہیں بنانے کے لئے
ضروری تعداد میں آپ کی نمائندگی کے طور پر خاص طور پر اگر آپ کا ارادہ رکھتے ہیں کے طور پر کرنا چاہتے ہیں.
>> مثال کے طور پر، میں میں واپس جانے لگتا ہے اس پروگرام اور 0.1 تبدیل،
اوہ، 0.28، اس طرح اشارہ ہے کہ میں printf سے printf طرح تھا
صحت سے متعلق کے 28 مقامات.
اب بچانے کے لئے اور پروگرام مرتب کرتے ہیں، بنانے floats2 کے ساتھ اس وقت.
ڈاٹ سلیش floats2 کے ساتھ چلا.
اور، عزیز خدا، میں 0.1 نہیں دیکھتے اس وقت، لیکن خوبصورت ہے جس 0.10000000،
اچھا اب تک.
لیکن اس وقت، 14901161193847656250.
>> ٹھیک ہے، کیا ہو رہا ہے؟
ٹھیک ہے، یہ ایک فلوٹ ہے کہ باہر کر دیتا ہے عام طور پر ایک کمپیوٹر کے اندر ذخیرہ
32 بٹس کے ساتھ.
32 ظاہر ہے ایک محدود تعداد، ہے جو آپ کو صرف کی نمائندگی کر سکتے ہیں اس کا مطلب
32 بٹس ایک محدود تعداد کے ساتھ کے نقطہ اقدار تیرتا.
بدقسمتی سے، اس کا مطلب ہے کہ کمپیوٹر تمام ممکنہ کی نمائندگی نہیں کر سکتے ہیں
چل نقاط کی تعداد، یا اصل تعداد، دنیا میں موجود ہے،
یہ صرف بہت سے بٹس ہے کیونکہ.
>> اور اس طرح کمپیوٹر بظاہر کیا ہے اس صورت میں کیا 1/10 کی نمائندگی ہے
قریب ترین ممکن فلوٹنگ نقطہ قیمت یہ کر سکتے ہیں کہ.
لیکن ہم دیکھتے ہیں، ہم یہاں کے طور پر، 28 اعشاری مقامات، ہم اس کو دیکھنے کے لئے شروع
گئی imprecision.
تو اس کے ساتھ ایک مسئلہ ہے کوئی بہترین حل ہے.
ہم، اس کی بجائے ایک فلوٹ کی ایک ڈبل استعمال کر سکتے ہیں کے طور پر 64 بٹس استعمال کرنے کے لئے جاتا ہے، جس میں
32 کی مخالفت کی.
لیکن کورس کے، 64، بھی محدود ہے تو مسئلہ ہو جائے گا
بھی ڈبلز کے ساتھ رہیں.