ram
ram

Reputation: 107

How to generate random number

I am working on calculator application. For me all operations are cleared except "rand". Could any one tell me how to generate random number of some number by selecting rand.

For example initially i select one(1) then rand... if so it has to be displayed random number of one(1).

Upvotes: 0

Views: 863

Answers (3)

Antonio MG
Antonio MG

Reputation: 20410

In objective-C you should use (for between 0 and 1)

int r = arc4random() % 10;

float r2 = r/10

Imagine that you want a number between 0 and 50 with decimals, then you should do:

int r = arc4random()%50*100;
float r2 = r/100;

You will get something like 40.123

Upvotes: 2

Teja
Teja

Reputation: 13534

Check the synopsis...

LIBRARY Standard C Library (libc, -lc)

SYNOPSIS #include

 u_int32_t
 arc4random(void);

 void
 arc4random_stir(void);

 void
 arc4random_addrandom(unsigned char *dat, int datlen);

DESCRIPTION The arc4random() function uses the key stream generator employed by the arc4 cipher, which uses 8*8 8 bit S-Boxes. The S-Boxes can be in about (2*1700) states. The arc4random() function returns pseudo- random numbers in the range of 0 to (2*32)-1, and therefore has twice the range of rand(3) and random(3).

 The arc4random_stir() function reads data from /dev/urandom and uses it to permute the S-Boxes via
 arc4random_addrandom().

 There is no need to call arc4random_stir() before using arc4random(), since arc4random() automatically
 initializes itself.

EXAMPLES The following produces a drop-in replacement for the traditional rand() and random() functions using arc4random():

       #define foo4random() (arc4random() % ((unsigned)RAND_MAX + 1))

Upvotes: 0

glogic
glogic

Reputation: 4092

NSInteger num = (arc4random() % maxnumber) + 1;

Upvotes: 0

Related Questions