Welcome to the most active Linux Forum on the web.
 Home Forums HCL Reviews Tutorials Articles Register Search Today's Posts Mark Forums Read
 LinuxQuestions.org modulo of 2 floating point numbers?
 User Name Remember Me? Password
 Programming This forum is for all programming questions. The question does not have to be directly related to Linux and any language is fair game.

Notices

 09-22-2004, 08:46 PM #1 jenna_h Member   Registered: Nov 2002 Distribution: Mandrake 9.0 Posts: 58 Rep: modulo of 2 floating point numbers? Hi, I have been trying to write a simple C++ program (using gcc 3.3.2) to find large prime numbers, which usually involves using the modulo (%) operator to check for factors. I need at least 11 significant digits to have adequate precision, but the int type apparently doesn't go that high. Is it possible to perform a modulo operation with floating point numbers, or alternatively, use ints with at least 11 significant digits?
 09-22-2004, 08:51 PM #2 itsme86 Senior Member   Registered: Jan 2004 Location: Oregon, USA Distribution: Slackware Posts: 1,246 Rep: You can't use the modulo operator on floating point numbers, but you can get an int with 11 significant digits. In gcc you just use the variable type long long (yes, 2 of them). This will get you a 64-bit integer which should be more than enough.
 09-22-2004, 09:06 PM #3 leonscape Senior Member   Registered: Aug 2003 Location: UK Distribution: Debian SID / KDE 3.5 Posts: 2,313 Rep: For modulo type functionality for floats and doubles, see Rounding and Remainder Functions.
 09-23-2004, 05:13 AM #4 Hko Senior Member   Registered: Aug 2002 Location: Groningen, The Netherlands Distribution: ubuntu Posts: 2,530 Rep: If you really need HUGE integers, check out libgmp (GNU Multiple Precision library). This will enable you to use thousands (possibly millions) of digits. But, like itsme86 already said, "long long int" will go a long long way as well. If you don't need negative number, you can also double the range with "unsigned long long int". If you have libgmp installed, "info gmp" will give you the documentation. Last edited by Hko; 09-23-2004 at 05:16 AM.
 09-23-2004, 10:04 PM #5 jenna_h Member   Registered: Nov 2002 Distribution: Mandrake 9.0 Posts: 58 Original Poster Rep: Thanks! For some reason, "long long int" still doesn't accept the numbers, but using drem() from the math.h package lets me calculate remainders with just a "double" datatype. I'll try it out and see how it goes.
 09-24-2004, 05:09 AM #6 Hko Senior Member   Registered: Aug 2002 Location: Groningen, The Netherlands Distribution: ubuntu Posts: 2,530 Rep: Hmm. Doesn't sound like a good idea to me to use floating point numbers to calculate primes. I maybe wrong here. I also can hardly imagine that longlongint doesn't work. How big are the numbers? Can you post code?
 09-24-2004, 09:39 AM #7 jim mcnamara Member   Registered: May 2002 Posts: 964 Rep: Floating point operations sometimes create 'fuzz' - imprecise results way out at 8 or 10 decimal places. It's caused by floating point representations of odd numbers. When you are working with 12 digits of precision, you may bump into fuzz. You will be much better of using an extended precsision library - why it was invented in the first place. double will not work for you reliably.

 Thread Tools Search this Thread Search this Thread: Advanced Search

 Posting Rules You may not post new threads You may not post replies You may not post attachments You may not edit your posts BB code is On Smilies are On [IMG] code is Off HTML code is Off Forum Rules

 Similar Threads Thread Thread Starter Forum Replies Last Post lucs Slackware 1 10-19-2005 08:33 AM hemk76 Linux - Software 1 05-06-2005 11:49 PM irfanhab Programming 0 12-23-2004 10:13 PM vince_2x Linux - General 2 09-21-2004 09:05 PM spyghost Programming 8 09-06-2003 06:21 PM

LinuxQuestions.org

All times are GMT -5. The time now is 01:12 PM.

 Contact Us - Advertising Info - Rules - LQ Merchandise - Donations - Contributing Member - LQ Sitemap -
 Advertisement
 My LQ
 Write for LQ LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
 Syndicate Latest Threads   LQ News Twitter: @linuxquestions Facebook: linuxquestions Google+: linuxquestions