Visit Our UNIX and Linux User Community


generating 16 digit random number in C


 
Thread Tools Search this Thread
Top Forums Programming generating 16 digit random number in C
# 8  
Old 08-17-2009
There is a reason - most systems double datatype has 15 digits of precision.
see limits.h DBL_DIG

Try long double instead. I also thought you needed 16 digits, not a numeric datatype like double.

For example, suppose you get 0000000123456789 from /dev/urandom. If that becomes a numeric datatype it no longer has 16 digits. It has only nine digits.
# 9  
Old 08-17-2009
From man pages, random seem to be more suitable for key generation than urandom character stream

Quote:
When read, the /dev/random device will only return random bytes within
the estimated number of bits of noise in the entropy pool. /dev/random
should be suitable for uses that need very high quality randomness such
as one-time pad or key generation
# 10  
Old 08-17-2009
Quote:
Originally Posted by ajaysahoo
its generating 16 digit no, but could please tell me that how the nos can be generated in double format.
I should add that a floating point datatype is the wrong kind of variable to hold integer data. Even a very high precision floating point value does not have complete precision. a 64-bit 'long long' type seems better suited. Or better yet, include stdint.h and use int64_t. To convert from a string, see atoll.

/dev/random has the problem that sometimes it may block. When there's not enough entropy available the read() call will wait until there is. crypto-grade randomness may not be needed unless this really is for crypto.
# 11  
Old 08-25-2009
Random numbers

Random is a loaded word. If you want somewhat random numbers, use the system call 'rand'.

If you need something more rigorous, you need to look into encryption software. Just feed any robust encryption engine a text string and you will get a random sequence of bits back that you can slice and dice as you like. Feed it the same string concateneated to itself, you will still get a random stream of non-repeating bits. Change the key and you get a different random stream of bits.

Google 'aes encryption source code' [AES stands for advanced encryption standard] There are other packages, but that is the standard.

You can do cool graphics stuff with true random numbers. Quasi-random numbers quickly reveal visual artifacts.

Previous Thread | Next Thread
Test Your Knowledge in Computers #1005
Difficulty: Easy
Regarding a circle, one full turn of the circle is equal to 2 radians.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Generating a POSIX random number?

Hi Guys and gals... As you know I am getting to grips with POSIX and hit this stumbling block. Generating two random numbers 0 to 255 POSIXly. Speed in not important hence the 'sleep 1' command. I have done a demo that works, but it sure is ugly! Is there a better way? #!/bin/sh # Random... (12 Replies)
Discussion started by: wisecracker
12 Replies

2. Shell Programming and Scripting

Generating a Random String of 'n' length

Hi, How can I generate a string of random characters (alpha+numeric) of a particular length ? For e.g. for n=5, output = 'kasjf' n=10, output = 'hedbcd902k' Also, please let me know if random (valid) dates could also be generated. Thanks (7 Replies)
Discussion started by: rishigc
7 Replies

3. Shell Programming and Scripting

Random number generating script?

Having a hard time with this. Very new to scripting and linux. Spent all sunday trying to do this. Appreciate some help and maybe help breaking down what the syntax does. Create a Bash program. It should have the following properties • Creates a secret number between 1 and 100 i. The... (3 Replies)
Discussion started by: LINUXnoob15
3 Replies

4. Shell Programming and Scripting

Generating Random Number in certain range

Hi there I am trying to generate a random number between 40 and 70 using the shell here is my code so far and it keeps going above 70. all help much appreciated! comp=$(( RANDOM%70+40 )) echo $comp (4 Replies)
Discussion started by: faintingquiche
4 Replies

5. Shell Programming and Scripting

Generate 16 digit positive random Numbers

Hi Unix Gurus, I have a requirement to generate positive random 16 and 13 digit numbers. Here is the script I have so far..... number=$RANDOM$RANDOM$RANDOM$RANDOM; let "number %= 10000000000000"; echo $number But sometimes it is generating negative numbers and also 15 digit... (8 Replies)
Discussion started by: scorpioraghu
8 Replies

6. Programming

Generating Random Number in Child Process using Fork

Hello All, I am stuck up in a program where the rand functions ends up giving all the same integers. Tried sleep, but the numbers turned out to be same... Can anyone help me out how to fix this issue ? I have called the srand once in the program, but I feel like when I call fork the child process... (5 Replies)
Discussion started by: manisum
5 Replies

7. Programming

C Help; generating a random number.

Im new to C, and Im having a hard time getting a random number. In bash, I would do something similar to the following to get a random number; #!/bin/bash seed1=$RANDOM seed2=$RANDOM seed3=$RANDOM SEED=`expr $seed1 * $seed2 / $seed3` echo ${SEED%.*} Now, in online examples... (4 Replies)
Discussion started by: trey85stang
4 Replies

8. Shell Programming and Scripting

Generating random numbers

Hi, I am having trouble with generating random numbers. can this be done with awk? So I have a file that looks like this: 23 30 24 40 26 34 So column1 is start and column2 is end. I want to generate 3 random #'s between start and stop: So the output will look like this: ... (9 Replies)
Discussion started by: phil_heath
9 Replies

9. Shell Programming and Scripting

Generating random number within a specific range (0.5-1.5)

Hello, need a way to generate numbers within 0.5-1.5 range Has to be totally random: 0.6 1.1 0.8 1.5 0.6 and so on.... How to? (10 Replies)
Discussion started by: TehOne
10 Replies

10. Shell Programming and Scripting

generating random numbers with hamming distance 4

Hi I want to genrate 10 random 32 bit binary numbers with hamming distance 4 and 8. 11010110010101010101010101010101 11010110010101010100010101010010 if we look carefully at these two binary numbers they differ at 4 places hence hamming distance 4. Now I want to genrate these numbers... (2 Replies)
Discussion started by: hack_tom
2 Replies

Featured Tech Videos