05-05-2011
Working with extremely large numbers in C
Hi All,
I am just curious, not programming anything of my own. I know there are libraries like gmp which does all such things. But I really need to know HOW they do all such things i.e. working with extremely large unimaginable numbers which are beyond the integer limit. They can do add, subtract etc.
I have thought of one way which is instead of int, store the numbers in the character array of any length and while computing, keep changing each and every char to int and hence perform an operation.
Are there any other better ways of handling large integers in C program?
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to parse hundreds of shell scripts to determine how they related to each other. Ideally for every script, I would get an output of:
What other scripts it calls
What files it reads
Environment variables it accesses
Any ideas on how to do this?
TIA! (2 Replies)
Discussion started by: bliss
2 Replies
2. UNIX for Advanced & Expert Users
In a recent research experiment I was handling, I faced this task of managing huge amounts of data to the order of Terabytes and with the help of many people here, I managed to learn quite a lot of things in the whole process. I am sure that many people will keep facing these situations quite often... (2 Replies)
Discussion started by: Legend986
2 Replies
3. UNIX for Dummies Questions & Answers
I am looking for a file with 'MCR0000000716214' in it. I tried the following command:
grep MCR0000000716214 *
The problem is that the folder I am searching in has over 87000 files and I am getting the following:
bash: /bin/grep: Arg list too long
Is there any command I can use that can... (6 Replies)
Discussion started by: runnerpaul
6 Replies
4. Shell Programming and Scripting
Hello Techies,
m here with a small issue. Have read out all the relavent threads on unix.com but it was not so good sol. for me.
It's a simple & known issue. I want to move lots of files to dest folder. Actually I want to pick up 1 year older files, but that is even taking lots of... (16 Replies)
Discussion started by: kedar.mehta
16 Replies
5. Shell Programming and Scripting
Hi All,
I have a very large single record file.
abc;date||bcd;efg|......... pqr;stu||record_count;date
when i do wc -l on this file it gives me "0" records, coz of missing line feed.
my problem is there is an extra pipe that is coming at the end of this record
like... (6 Replies)
Discussion started by: Gurkamal83
6 Replies
6. UNIX for Dummies Questions & Answers
I hope to create a file made up of 2 columns
- first column print out number 0~61000 every 50 of it
- second column just contains 0
delineated by space
such as
0 0
50 0
100 0
150 0
200 0
...
60900 0
60950 0
61000 0
Which command should I need to use? I think I might need to use... (5 Replies)
Discussion started by: exsonic
5 Replies
7. UNIX for Dummies Questions & Answers
I've got two files that each contain a 16-digit number in positions 1-16. The first file has 63,120 entries all sorted numerically. The second file has 142,479 entries, also sorted numerically.
I want to read through each file and output the entries that appear in both. So far I've had no... (13 Replies)
Discussion started by: Scottie1954
13 Replies
8. Shell Programming and Scripting
Hi All,
I have a file with long list of numbers. This file contains only one column. These numbers are very large. I am using following command:
cat myfile.txt | awk '{ sum+=$1} END {print sum}'
The output is coming in scientific notation. How do I get the result in proper format?
... (4 Replies)
Discussion started by: angshuman
4 Replies
9. Solaris
Hi,
We have file which is about 756 MB of size and vi/vim do not work when we try to edit this file. I'm looking for any editor ( ok if its NOT free ) which has the ability to open/edit a file of 1+GB seamlessly. The OS is SUN Solaris 10 ( Sparc )
Thanks in Advance
Maverick (13 Replies)
Discussion started by: maverick_here
13 Replies
10. Shell Programming and Scripting
Hi All,
I am writing a script in which I need to gather 2 numbers for 'total' and 'successful'. The goal is to compare the two numbers and if they are not equal, rerun the task until all are successful. I'm thinking the best way will be with awk or sed, but I really don't know where to begin... (8 Replies)
Discussion started by: hburnswell
8 Replies
LEARN ABOUT REDHAT
initstate
RANDOM(3) Linux Programmer's Manual RANDOM(3)
NAME
random, srandom, initstate, setstate - random number generator.
SYNOPSIS
#include <stdlib.h>
long int random(void);
void srandom(unsigned int seed);
char *initstate(unsigned int seed, char *state, size_t n);
char *setstate(char *state);
DESCRIPTION
The random() function uses a non-linear additive feedback random number generator employing a default table of size 31 long integers to
return successive pseudo-random numbers in the range from 0 to RAND_MAX. The period of this random number generator is very large, approx-
imately 16*((2**31)-1).
The srandom() function sets its argument as the seed for a new sequence of pseudo-random integers to be returned by random(). These
sequences are repeatable by calling srandom() with the same seed value. If no seed value is provided, the random() function is automati-
cally seeded with a value of 1.
The initstate() function allows a state array state to be initialized for use by random(). The size of the state array n is used by init-
state() to decide how sophisticated a random number generator it should use -- the larger the state array, the better the random numbers
will be. seed is the seed for the initialization, which specifies a starting point for the random number sequence, and provides for
restarting at the same point.
The setstate() function changes the state array used by the random() function. The state array state is used for random number generation
until the next call to initstate() or setstate(). state must first have been initialized using initstate() or be the result of a previous
call of setstate().
RETURN VALUE
The random() function returns a value between 0 and RAND_MAX. The srandom() function returns no value. The initstate() and setstate()
functions return a pointer to the previous state array, or NULL on error.
ERRORS
EINVAL A state array of less than 8 bytes was specified to initstate().
NOTES
Current "optimal" values for the size of the state array n are 8, 32, 64, 128, and 256 bytes; other amounts will be rounded down to the
nearest known amount. Using less than 8 bytes will cause an error.
CONFORMING TO
BSD 4.3
SEE ALSO
rand(3), srand(3)
GNU
2000-08-20 RANDOM(3)