क्यों अजगर 0.0 चुपचाप में बदलने का है?

वोट
2

नीचे है कि उत्पादन अचानक हो जाता है कोड में सूचना 0.0के लिए 0.0005**99

In [1]: 0.0005**97                                                              
Out[1]: 6.31e-321

In [2]: 0.0005**98                                                              
Out[2]: 5e-324

In [3]: 0.0005**99                                                              
Out[3]: 0.0

In [4]: 0.0005**100                                                             
Out[4]: 0.0

मैं एक को देखने के लिए उम्मीद कर रहा था Underflowत्रुटि या एक चेतावनी ऐसा होता है कि किसी तरह का।

मैं अनुभवहीन Bayes कलन विधि का उपयोग एक स्पैम फ़िल्टर कोडिंग कर रहा हूँ, और संगणना की तरह ऊपर दिखने वाला लंबा संदेश के लिए आम बात है। हालांकि मैं कुछ गणितीय समाधान जोड़ सकते हैं, मैं अभी भी लगता है कि यह है कि इस रूपांतरण के लिए समस्याग्रस्त है 0.0मौन रूप से होती।

मैं Pyhton 3.7.3 में उपरोक्त कोड भाग गया।

09/10/2019 को 12:55
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
1

अजगर, सभी चल बिन्दु राउंडिंग चुपचाप किया जाता है, यह सिर्फ इसलिए इस मामले निकटतम चल बिन्दु संख्या प्रतिनिधित्व करने के लिए कोशिश कर रहे हैं सबसे छोटी चल बिन्दु संख्या> 0 की तुलना में करीब 0 है कि में होता है।

के रूप में कुछ टिप्पणियों को सुझाव दिया है, लॉग स्थान का उपयोग कर ये बहुत छोटी संख्या का प्रतिनिधित्व से निपटने के साथ तुम्हारी मदद करेगा।

09/10/2019 को 13:25
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more