2010-02-22 5 views
8

मैं भी यह कैसे को पढ़ने के लिए अर्थ या जान सकता हूँ:srandom (समय (शून्य))

srandom(time(NULL))? 
+0

आप बीज के साथ एक यादृच्छिक() फ़ंक्शन प्रारंभ करते हैं। इस मामले में बीज वर्तमान समय है। – tur1ng

+1

इसका मतलब कुछ भी हो सकता है, क्योंकि सी भाषा में "srandom" नामक कोई फ़ंक्शन नहीं है। (मुझे विश्वास है कि यह एक पॉज़िक्स फ़ंक्शन है?) मानक फ़ंक्शन को 'srand' कहा जाता है। – Lundin

उत्तर

3

अर्थ वर्तमान समय के साथ यादृच्छिक बीज प्रारंभ करने में है। समय (एनयूएलएल) वर्तमान समय देता है। srandom() यादृच्छिक बीज शुरू करता है।

3

srandom एक ऐसा फ़ंक्शन है जो यादृच्छिक संख्या जेनरेटर प्रारंभ करता है।

यह बीज मूल्य लेता है, जो इस कोड में time(NULL) है, जो वर्तमान समय है।

यह, पढ़ने के लिए है "की समय अशक्त की srandom"।

22
NULL 

एक शून्य सूचक। शून्य। कुछ भी करने के लिए अंक।

time(NULL) 

time समारोह एक पूर्णांक के रूप में वर्तमान टाइमस्टैम्प देता है। यह एक इनपुट तर्क स्वीकार करता है। यदि तर्क शून्य नहीं है, तो वर्तमान समय इसमें संग्रहीत होता है।

srandom(time(NULL)) 

s का मतलब है "बीज"। srandom का अर्थ है "बीज यादृच्छिक संख्या जेनरेटर"। यह इनपुट के रूप में एक पूर्णांक लेता है, इसके अनुसार यादृच्छिक संख्याओं के अनुक्रम उत्पन्न करने के लिए इनपुट द्वारा प्राप्त पीआरएनजी के आंतरिक राज्य को रीसेट करें। कभी-कभी बीज को यादृच्छिक संख्याओं के 2 अनुक्रमों को सुनिश्चित करने के लिए प्रयोग किया जाता है, एक समान परीक्षण स्थिति को पुन: पेश करने के लिए।

सामान्य रूप से, प्रोग्राम शुरू होने पर हर अनुक्रम होने से बचने के लिए आप हमेशा कुछ हमेशा बदलते मूल्य डालते हैं। वर्तमान टाइमस्टैम्प एक अच्छा मूल्य है, इसलिए time(NULL) इनपुट के रूप में उपयोग किया जाता है।

+0

चाहे समय के आधार पर बीजिंग एक अच्छा विचार है, आवेदन पर निर्भर करता है - हालांकि शायद केवल सुरक्षा प्रकार गंभीर रूप से वंचित होंगे, और वे मानक लाइब्रेरी यादृच्छिक संख्याओं का उपयोग नहीं करेंगे, वैसे भी मुझे लगता है। – Steve314

+0

समय() हमेशा चालू समय देता है। यदि तर्क पूर्ण नहीं है, तो वर्तमान समय भी उस सूचक में संग्रहीत किया जाएगा। चूंकि यह हमेशा वैसे भी लौटाया जाता है, समय (एनयूएलएल) रूप काफी आम है। हालांकि अच्छा स्पष्टीकरण :) –

संबंधित मुद्दे