ในแอปพลิเคชันขนาดเล็กที่เขียนด้วย C / C ++ ฉันกำลังประสบปัญหากับrand
ฟังก์ชั่นและอาจเป็นเมล็ด:
ฉันต้องการสร้างลำดับของตัวเลขสุ่มที่มีคำสั่งต่างกันเช่นมีค่าลอการิทึมที่แตกต่างกัน (ฐาน 2) แต่ดูเหมือนว่าตัวเลขทั้งหมดที่ผลิตมีคำสั่งเดียวกันโดยมีความผันผวนระหว่าง 2 ^ 25 และ 2 ^ 30
เป็นเพราะrand()
เมล็ดมีเวลา Unix ซึ่งตอนนี้เป็นจำนวนค่อนข้างมาก? ฉันลืมอะไร ฉันกำลังเพาะเพียงครั้งเดียวที่จุดเริ่มต้นของrand()
main()
rand()
จะส่งคืนหมายเลขที่กระจายอย่างสม่ำเสมอ (เอกสารที่มีอันดับสูงของ Google กล่าวอย่างชัดเจน) ฉันไม่คิดว่าคำถามนี้มีประโยชน์สำหรับผู้อ่านในอนาคต นั่นเป็นเหตุผลว่าทำไมการลงคะแนน แต่อย่าให้มันทำให้คุณหมดกำลังใจในการใช้งาน SO