हुई है खबर में एक कहानी एक आदमी जिसका Paypal खाते गलती से $ 92.233.720.368.547.800 श्रेय दिया गया था के बारे में।
यह संख्या कहां से आती है? किस तरह की प्रोग्रामिंग बग इस संख्या को जन्म देने की संभावना है?
हुई है खबर में एक कहानी एक आदमी जिसका Paypal खाते गलती से $ 92.233.720.368.547.800 श्रेय दिया गया था के बारे में।
यह संख्या कहां से आती है? किस तरह की प्रोग्रामिंग बग इस संख्या को जन्म देने की संभावना है?
जवाबों:
यह एक लंबे (64 बिट हस्ताक्षरित अभिन्न प्रकार) का अधिकतम मूल्य है।
से http://msdn.microsoft.com/en-us/library/system.int64.maxvalue.aspx
इस स्थिरांक का मान 9,223,372,036,854,775,807 है; वह है, हेक्साडेसिमल 0x7FFFFFFFFFFFFFFFFF।
यह किसी भी भाषा में एक 64-बिट हस्ताक्षरित अभिन्न प्रकार के लिए अधिकतम मूल्य होगा, मुझे नहीं लगता कि paypal .NET का उपयोग कर रहा है, ऊपर MSDN का लिंक सिर्फ उदाहरण है।
त्रुटि की संभावना सिर्फ एक खराब रूपांतरण त्रुटि है (जैसे दशमलव या फ्लोट या आदि से लंबे समय तक जो सही ढंग से काम नहीं करता था) जिसके परिणामस्वरूप कुछ मूल्य का अतिप्रवाह होता है, या कुछ अजीब परिदृश्य के लिए खराब डिफ़ॉल्ट कोड होता है, या यह एक परीक्षण हो सकता था। उनके इंजीनियरिंग / क्यूए टीम द्वारा उत्पादन में हाई-वायर चला गया। मेमोरी लीक / पॉइंटर त्रुटि, इसके कारण के तरीकों की सूची वास्तव में अनगिनत हैं। तार के पार उनके पास आने वाली कुछ सूचनाओं को अनजाने में पार्स करने में त्रुटि हो सकती है, अनजाने में या अनपेक्षित रूप से अनैतिक मूल्य के साथ अनजाने में कई तरीके।