मैं 2 मानों के बीच एक यादृच्छिक फ्लोटिंग पॉइंट नंबर उत्पन्न करना चाहता हूं। सी # में ऐसा करने का सबसे अच्छा तरीका क्या है?आप सी # में यादृच्छिक संख्या कैसे उत्पन्न करते हैं?
उत्तर
की प्रतिक्रिया में केवल एक चीज है जो मैं Eric की प्रतिक्रिया में जोड़ना चाहता हूं, इसके लिए बहुत सारे लोग already implemented it हैं; मुझे लगता है कि कोड काम करने का ज्ञान यह जानने से बेहतर है कि कौन सा कोड काम करता है।
स्पष्टीकरण यह है: मान लीजिए कि आप 2.5 और 4.5 के बीच एक संख्या चाहते हैं। रेंज 2.0 (4.5 - 2.5) है। NextDouble
केवल 0 और 1.0 के बीच एक संख्या देता है, लेकिन यदि आप इसे श्रेणी से गुणा करते हैं तो आपको 0 और रेंज के बीच एक संख्या मिल जाएगी। 2.5 और 4.5 के बीच
rng.NextDouble() * 2.0
लेकिन, हम चाहते हैं उन्हें:
तो, यह हमें यादृच्छिक युगल 0.0 और 2.0 के बीच देना होगा! हम इसे कैसे करते हैं? सबसे छोटी संख्या जोड़ें, 2.5:
2.5 + rng.NextDouble() * 2.0
अब, हमें 0.0 और 2.0 के बीच एक संख्या मिलती है; यदि आप इन मानों में से प्रत्येक को 2.5 जोड़ते हैं तो हम देखते हैं कि सीमा अब 2.5 और 4.5 के बीच है।
पहले मैंने सोचा कि यह बी> ए या ए> बी के अनुरूप है, लेकिन यदि आप इसे दोनों तरीकों से काम करते हैं तो आप पाएंगे कि जब तक आप चर के क्रम को गड़बड़ नहीं करते हैं उपयोग किया गया। तो मैं मिश्रित नहीं है मैं अब चर नाम के साथ व्यक्त करना: यह एक crytographically मजबूत के साथ 8 बाइट्स भर देंगे:
double NextDouble(Random rng, double min, double max) { return min + (rng.NextDouble() * (max - min)); }
// generate a random number starting with 5 and less than 15
Random r = new Random();
int num = r.Next(5, 15);
युगल के लिए आप NextDouble
System.Random r = new System.Random();
double rnd(double a, double b)
{
return a + r.NextDouble()*(b-a);
}
साथ अगले जगह ले सकता है कैसे यादृच्छिक? आप बस तो छद्म यादृच्छिक के साथ सौदा कर सकते हैं:
Random randNum = new Random();
randNum. NextDouble(Min, Max);
आप एक "बेहतर" यादृच्छिक संख्या चाहते हैं, तो आप शायद Mersenne ट्विस्टर एल्गोरिथ्म पर गौर करना चाहिए।
यहाँ Cryographically सुरक्षित यादृच्छिक संख्या प्राप्त करने के लिए कैसे का एक टुकड़ा है यादृच्छिक मूल्यों का अनुक्रम।
byte[] salt = new byte[8];
RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
rng.GetBytes(salt);
अधिक जानकारी के लिए देख How Random is your Random??"
(डेक की उथल पर एक CodingHorror लेख से प्रेरित) क्यों सूंडवाले इतना downmodded कर दिया गया है की एक explaination के लिए: NextDouble के कार्यान्वयन के लिए http://msdn.microsoft.com/en-us/magazine/cc163367.aspx देखो और की व्याख्या क्या एक यादृच्छिक डबल है।
यह लिंक क्रिप्टोग्राफ़िक यादृच्छिक संख्याओं (जैसे समीर का उल्लेख किया गया) का उपयोग करने के लिए एक छोटा उदाहरण है, केवल थोड़ी स्ट्रीम के बजाय वास्तविक उपयोगी आउटपुट के साथ।
- 1. सी (लिनक्स) में यादृच्छिक संख्या यादृच्छिक संख्या कैसे करें?
- 2. आप PHP के साथ क्रिप्टोग्राफ़िक रूप से सुरक्षित यादृच्छिक संख्या कैसे उत्पन्न करते हैं?
- 3. पुनरावर्तनीय यादृच्छिक संख्या अनुक्रम कैसे उत्पन्न करें?
- 4. आप आरएसएस फ़ीड कैसे उत्पन्न करते हैं?
- 5. आप वेबसाइट नेविगेशन कैसे उत्पन्न करते हैं?
- 6. कर्नेल मॉड्यूल में यादृच्छिक संख्या उत्पन्न करें
- 7. क्लोजर में आप एक सूची को यादृच्छिक कैसे करते हैं?
- 8. बड़ी यादृच्छिक संख्याएं कैसे उत्पन्न करें सी
- 9. आईफोन एसडीके में यादृच्छिक संख्या?
- 10. आप एक चुस्त परियोजना में संस्करण संख्या कैसे करते हैं? ।।
- 11. मैं पायथन में यादृच्छिक संख्या कैसे उत्पन्न कर सकता हूं?
- 12. सी ++ psudo यादृच्छिक संख्या जेनरेटर
- 13. MATLAB में आप दोहरी टोन फ्रीक्वेंसी कैसे उत्पन्न करते हैं?
- 14. कोर ग्राफिक्स में आप आरजीबीए छवि कैसे उत्पन्न करते हैं?
- 15. सी # संभावना और यादृच्छिक संख्या
- 16. मैं माइक्रोकंट्रोलर में यादृच्छिक संख्या कैसे कुशलता से उत्पन्न करूं?
- 17. एफपीजीए में छद्म यादृच्छिक संख्या कैसे उत्पन्न करें?
- 18. पायथन में "बड़ा" यादृच्छिक संख्या कैसे उत्पन्न करें?
- 19. मैं डार्ट में यादृच्छिक संख्या कैसे उत्पन्न करूं?
- 20. सी # में यादृच्छिक संख्या जनरेटर - अद्वितीय मान
- 21. लूप में यादृच्छिक संख्या
- 22. यादृच्छिक और नकारात्मक संख्या
- 23. क्या स्टेटलेस यादृच्छिक संख्या जेनरेटर मौजूद हैं?
- 24. "यादृच्छिक" कैसे उत्पन्न करें लेकिन "अद्वितीय" संख्याएं कैसे उत्पन्न करें?
- 25. रनटाइम पर उत्पन्न एक यादृच्छिक संख्या कैसा है?
- 26. गैर-दोहराव यादृच्छिक संख्या
- 27. निर्दिष्ट असतत वितरण से यादृच्छिक संख्या कैसे उत्पन्न करें?
- 28. matplotlib में यादृच्छिक रंग कैसे उत्पन्न करें?
- 29. यादृच्छिक संख्या
- 30. सी ++ में ओपन सोर्स यादृच्छिक संख्या पीढ़ी एल्गोरिदम?
यह वास्तव में सटीक नहीं है। अगला डबल केवल 0.0 और 1.0 के बीच उत्पन्न करता है। – Bloodyaugust
NextDouble() जो मैं देख सकता हूं उससे कोई तर्क नहीं लेता है। –