{"id":24140,"date":"2024-03-16T02:38:25","date_gmt":"2024-03-16T02:38:25","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/"},"modified":"2024-03-22T02:58:36","modified_gmt":"2024-03-22T02:58:36","slug":"what-are-the-methods-for-generating-random-numbers-in-c","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/","title":{"rendered":"What are the methods for generating random numbers in C++?"},"content":{"rendered":"<p>In C++, there are several methods available for generating random numbers:<\/p>\n<ol>\n<li>By using the standard library function rand(), you can generate pseudo-random numbers. You need to first set a random number seed using the srand() function, which can be done by using the time() function to get the current time as the seed, and then call the rand() function to generate random numbers.<\/li>\n<\/ol>\n<p>Example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;cstdlib&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;ctime&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u968f\u673a\u6570\u79cd\u5b50<\/span>\r\n    <span class=\"hljs-built_in\">srand<\/span>(<span class=\"hljs-built_in\">time<\/span>(<span class=\"hljs-number\">0<\/span>));\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u751f\u6210\u968f\u673a\u6570<\/span>\r\n    <span class=\"hljs-type\">int<\/span> randomNumber = <span class=\"hljs-built_in\">rand<\/span>();\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u968f\u673a\u6570<\/span>\r\n    std::cout &lt;&lt; <span class=\"hljs-string\">\"Random number: \"<\/span> &lt;&lt; randomNumber &lt;&lt; std::endl;\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<ol>\n<li>The random number library in C++11: C++11 introduced a new random number library that offers higher quality random number generators and more random distribution functions. You can use std::random_device as a seed, then use std::mt19937 as the random number engine, along with different distribution functions to generate different types of random numbers.<\/li>\n<\/ol>\n<p>Sample code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;random&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    <span class=\"hljs-comment\">\/\/ \u8bbe\u7f6e\u968f\u673a\u6570\u5f15\u64ce\u548c\u5206\u5e03\u51fd\u6570<\/span>\r\n    std::random_device rd;\r\n    <span class=\"hljs-function\">std::mt19937 <span class=\"hljs-title\">gen<\/span><span class=\"hljs-params\">(rd())<\/span><\/span>;\r\n    <span class=\"hljs-function\">std::uniform_int_distribution&lt;<span class=\"hljs-type\">int<\/span>&gt; <span class=\"hljs-title\">dis<\/span><span class=\"hljs-params\">(<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">6<\/span>)<\/span><\/span>;\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u751f\u6210\u968f\u673a\u6570<\/span>\r\n    <span class=\"hljs-type\">int<\/span> randomNumber = <span class=\"hljs-built_in\">dis<\/span>(gen);\r\n    \r\n    <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u968f\u673a\u6570<\/span>\r\n    std::cout &lt;&lt; <span class=\"hljs-string\">\"Random number: \"<\/span> &lt;&lt; randomNumber &lt;&lt; std::endl;\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>The above are two commonly used methods to generate random numbers in C++, you can choose the one that suits your needs based on actual requirements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, there are several methods available for generating random numbers: By using the standard library function rand(), you can generate pseudo-random numbers. You need to first set a random number seed using the srand() function, which can be done by using the time() function to get the current time as the seed, and then [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-24140","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What are the methods for generating random numbers in C++? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What are the methods for generating random numbers in C++?\" \/>\n<meta property=\"og:description\" content=\"In C++, there are several methods available for generating random numbers: By using the standard library function rand(), you can generate pseudo-random numbers. You need to first set a random number seed using the srand() function, which can be done by using the time() function to get the current time as the seed, and then [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T02:38:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T02:58:36+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"What are the methods for generating random numbers in C++?\",\"datePublished\":\"2024-03-16T02:38:25+00:00\",\"dateModified\":\"2024-03-22T02:58:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\"},\"wordCount\":158,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\",\"name\":\"What are the methods for generating random numbers in C++? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T02:38:25+00:00\",\"dateModified\":\"2024-03-22T02:58:36+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What are the methods for generating random numbers in C++?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What are the methods for generating random numbers in C++? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/","og_locale":"en_US","og_type":"article","og_title":"What are the methods for generating random numbers in C++?","og_description":"In C++, there are several methods available for generating random numbers: By using the standard library function rand(), you can generate pseudo-random numbers. You need to first set a random number seed using the srand() function, which can be done by using the time() function to get the current time as the seed, and then [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T02:38:25+00:00","article_modified_time":"2024-03-22T02:58:36+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"What are the methods for generating random numbers in C++?","datePublished":"2024-03-16T02:38:25+00:00","dateModified":"2024-03-22T02:58:36+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/"},"wordCount":158,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/","url":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/","name":"What are the methods for generating random numbers in C++? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T02:38:25+00:00","dateModified":"2024-03-22T02:58:36+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-are-the-methods-for-generating-random-numbers-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What are the methods for generating random numbers in C++?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24140","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=24140"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24140\/revisions"}],"predecessor-version":[{"id":58157,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/24140\/revisions\/58157"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=24140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=24140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=24140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}