کمپیوٹر ناقابل یقین حد تک تیز ہیں، لیکن جب رقم کا حساب لگانے کی بات آتی ہے تو ان میں ایک حیران کن اور بنیادی خامی ہے۔
تازہ ترین freeCodeCamp.org ویڈیو میں، "کمپیوٹرز پیسے کیوں نہیں گن سکتے،” میں Ania Kubow سافٹ ویئر کی خرابیوں کے ایک ایسے طبقے کی تاریخ پر گہری نظر ڈالتی ہے جو کبھی بڑے مالیاتی اداروں کے لیے مسائل کا باعث بنتے تھے اور ٹھیک ٹھیک گول غلطیوں کی وجہ سے اکاؤنٹس کو فنڈز جیتنے یا کھونے کا سبب بنتے تھے۔
مسئلہ ہارڈ ویئر کے معلومات پر کارروائی کرنے کے طریقے سے آتا ہے۔ چونکہ کمپیوٹر انسانوں کے استعمال کردہ اعشاریہ نمبر کے نظام کی بجائے بیس 2 (بیس 2) میں اعداد کو ذخیرہ کرتے ہیں، اس لیے انہیں 0.1 یا 0.2 جیسے سادہ اعشاریوں کی درست نمائندگی کرنے میں دشواری ہوتی ہے۔ اس کے بجائے، مشین ان نمبروں کے قریب ترین تخمینہ کو ذخیرہ کرتی ہے۔ یہ زیادہ تر ایپلی کیشنز میں معمولی معلوم ہو سکتا ہے، لیکن جب لاکھوں لین دین میں اسکیل کیا جاتا ہے، تو یہ چھوٹی چھوٹی تضادات جمع ہو سکتی ہیں اور مالی توازن کو اس طرح سے "بڑھا” دیتی ہیں جس کا کبھی کبھی فائدہ اٹھا کر پیسہ کمایا جا سکتا ہے۔
ان تکنیکی چیلنجوں نے پوری مالیاتی صنعت کو دوبارہ سوچنے پر مجبور کر دیا ہے کہ وہ سافٹ ویئر میں کرنسیوں کو کیسے ہینڈل کرتے ہیں۔ آج، جدید مالیاتی نظام فلوٹنگ پوائنٹ نمبرز کو مکمل طور پر استعمال کرنے سے گریز کرتے ہیں، اس کے بجائے مکمل درستگی کو یقینی بنانے کے لیے اقدار کو عدد کے طور پر ذخیرہ کرنے کا انتخاب کرتے ہیں۔ اس ویڈیو میں، ہم اس بات کو یقینی بنانے کے لیے درکار انجینئرنگ تبدیلیوں کو تلاش کرتے ہیں کہ 0.1 جمع 0.2 ہمیشہ 0.3 کے برابر ہو اور آن لائن کی جانے والی تمام ادائیگیوں کی سالمیت کی حفاظت کریں۔
freeCodeCamp.org یوٹیوب چینل پر ویڈیو دیکھیں (دیکھنے کے لیے 6 منٹ)۔