私はコンソールから次のような出力を得ることから-5 6.なぜarc4randomが奇妙な値を返すのですか?
double num;
for (int i = 0; i < 3; i++) {
num = (arc4random() % 11) - 5;
NSLog(@"%0.0f", num);
}
に私は、ランダムな値を生成するために、私のiOSアプリケーション内の関数でarc4randomを呼び出しています。
2012-05-01 20:25:41.120 Project32[8331:fb03] 0
2012-05-01 20:25:41.121 Project32[8331:fb03] 1
2012-05-01 20:25:41.122 Project32[8331:fb03] 4294967295
0と1は範囲内の値ですが、4294967295はどこから来たのですか?
arc4random()
〜rand()
を変更すると問題が解決されますが、もちろんrand()
にはシーディングが必要です。
「num」の宣言を表示できますか?おそらく、おそらく 'unsigned int'でしょうか? :) – nacho4d
私はnumが符号なし整数だと思いますか? – lnafziger
申し訳ありませんが、私はnumの宣言を含めました。 –