![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
xorshiftという乱数生成プログラムがあります。
この乱数の最大値が知りたいのですが、ご存じの方がいらっしゃいましたら教えてください。
unsigned long xorshiftrand(void) {
static unsigned long
x=123456789, y=362436069,
z=521288629, w=88675123;
unsigned long t;
t = x ^ (x << 11);
x = y; y = z; z = w;
return w = (w ^ (w >> 19)) ^ (t ^ (t >> 8));
}
A 回答 (3件)
- 最新から表示
- 回答順に表示
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?5a7ff87)
No.2
- 回答日時:
実際にやってみました。
以下のソースで実行しました。
int main()
{
unsigned long max = 0;
unsigned long ret = 0;
unsigned inti;
for (i=0; i<ULONG_MAX;;++){
ret = xorshiftrand();
if (ret > max) max = ret;
}
printf ("i=%lu max=%lu\n",i,max);
return 0;
}
-----------------
100万回に1回最大値を印字します。
以下実行結果
i=0 max=3701687786
i=1000000 max=4294966536
i=2000000 max=4294966536
i=3000000 max=4294966536
中略
i=288000000 max=4294967292
i=289000000 max=4294967292
i=290000000 max=4294967295
i=291000000 max=4294967295
-----------------------------
32ビットの環境です。
290000000回実行すると、unsigned longの最大値
4294967295を返しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- C言語・C++・C# C言語 共用体について コマンドライン引数で値を2つ入力したときに、argv[2]の値をUNI u1 4 2022/04/25 20:34
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) vba Sleep関数について教えてください 1 2023/01/18 10:18
- Visual Basic(VBA) 乱数の表示 4 2022/10/12 10:43
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonって何のソフトで動くん...
-
エクセルVBA、ステップモードと...
-
VB.NETでボタンのクリックイベ...
-
パソコンに何かが勝手にダウン...
-
Excel実行時エラー-2146959355?
-
EXCEL-VBAでコマンド...
-
VB.NETでDataTableにデータ追加...
-
VBA 作成中のプログラムを使っ...
-
eclipseで、「ポート番号が使用...
-
パソコンのスクリーンセーバー...
-
latexでのエラー
-
VBA中断モードの解除
-
バッチファイル DOS Windows200...
-
ランタイム関数とは何ですか?
-
VBA コントロールパネルの機能...
-
PC版のMinecraftが応答なしにな...
-
ペンタブがパソコンに繋がらな...
-
長時間PCを起動しているとポッ...
-
【急いでます!】pythonでキー...
-
起動したアプリケーションを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコンに何かが勝手にダウン...
-
パソコンのスクリーンセーバー...
-
Excel実行時エラー-2146959355?
-
chatGPTで次々と質問をしていく...
-
PC版のMinecraftが応答なしにな...
-
VSコード
-
プログラミングについてです。...
-
latexでのエラー
-
VB.NETでボタンのクリックイベ...
-
管理者として実行を毎回すると...
-
エクセルVBA、ステップモードと...
-
Windows10 で青鬼を遊びたいの...
-
EXCEL-VBAでコマンド...
-
eclipseで、「ポート番号が使用...
-
プログラム実行中に強制停止さ...
-
VB.NETでDataTableにデータ追加...
-
pythonで他のアプリを操作する...
-
COBOLで集団項目から符号...
-
実行中のVBSをタスクバーに非表...
-
C言語再帰アルゴリズム
おすすめ情報