4

arc4Random()-10 から 10 までの範囲の数値を使用するように呼び出しをフォーマットする方法を探しています。

それともarc4Random()、0 から X までしか生成しませんか? arc4Random()その場合、指定された範囲内の結果になるように結果を操作する必要がありますか?

4

1 に答える 1

6

arc4randomu_int32_t符号なしの型である を返します。それを符号付きの型にキャストしてから減算する必要があります。

-10 から +10 までの数値が必要であると仮定します (-10 と +10 の両方を選択する場合もあります)。

iOS 4.3 以降、または Mac OS X 10.7 以降をターゲットにしている場合は、次のarc4random_uniform関数を使用する必要があります。

int myNumber = (int)arc4random_uniform(21) - 10;

古い OS をターゲットにしている場合は、次を使用する必要がありますarc4random

int myNumber = (int)(arc4random() % 21) - 10;
于 2012-03-04T05:12:26.647 に答える