Feb 1 2008, 01:38 PM
Post
#1
|
|
![]() From Atlantis to Interzone Group: Global Moderators Posts: 2,512 Joined: 23-February 06 From: Somewhere in space and time Member No.: 65 |
Ok, so I'm taking Desrosiers (yeah, he sucks) for CS 1412 and I'm working on a programming assignment right now (in C#).
What I basically have to do is create a class that stores a fraction. One of the things it's supposed to do is take a floating point number and convert that to a fraction. What my class basically does is round the floating point number to 5 decimal places, then multiplies it by 100,000. It then uses the resulting integer as the numerator and 100,000 as the denominator and simplifies that. That works fine for the most part, but what I would also like to be able to do is have it recognize .33333 as 1/3, .66667 as 2/3, 1.33333 as 4/3, etc. I can take the modulus of the floating point number and see if the remainder is zero, but I think that way would be really prone to rounding errors. I don't necessarily have to implement that (he said that the method can have limitations as long as we document them), but it would be nice if I could do that. Does anyone have any advice? -------------------- Holy shit, pebkac, you're awesome! "Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind." - Theodor Seuss Geisel (AKA Dr. Seuss) "An idea that is not dangerous is unworthy of being called an idea at all." - Oscar Wilde |
|
|
|
![]() |
Feb 1 2008, 03:10 PM
Post
#2
|
|
|
Group: Admin Posts: 6,906 Joined: 22-February 06 From: Austin Member No.: 9 |
Oh here we go, better example (scroll to the bottom): http://math2.org/math/general/arithmetic/fradec.htm
QUOTE Need to convert a repeating decimal to a fraction? Follow these examples:
Note the following pattern for repeating decimals: 0.22222222... = 2/9 0.54545454... = 54/99 0.298298298... = 298/999 Division by 9's causes the repeating pattern. Note the pattern if zeros preceed the repeating decimal: 0.022222222... = 2/90 0.00054545454... = 54/99000 0.00298298298... = 298/99900 Adding zero's to the denominator adds zero's before the repeating decimal. To convert a decimal that begins with a non-repeating part, such as 0.21456456456456456..., to a fraction, write it as the sum of the non-repeating part and the repeating part. 0.21 + 0.00456456456456456... Next, convert each of these decimals to fractions. The first decimal has a divisor of power ten. The second decimal (which repeats) is convirted according to the pattern given above. 21/100 + 456/99900 Now add these fraction by expressing both with a common divisor 20979/99900 + 456/99900 and add. 21435/99900 Finally simplify it to lowest terms 1429/6660 and check on your calculator or with long division. = 0.2145645645... This post has been edited by Spectatrix: Feb 1 2008, 03:14 PM -------------------- |
|
|
|
Feb 1 2008, 07:44 PM
Post
#3
|
|
![]() From Atlantis to Interzone Group: Global Moderators Posts: 2,512 Joined: 23-February 06 From: Somewhere in space and time Member No.: 65 |
Oh here we go, better example (scroll to the bottom): http://math2.org/math/general/arithmetic/fradec.htm This is all well and good, but first I have to get the program to recognize that the number is repeating. I could probably analyze the number digit by digit, but as this isn't the primary focus of the project, I don't want to go into that much depth. I could also see if the remainder is 0 if I divide by a set group of integers, but that may not be of much help as there will probably be a significant number of rounding errors. -------------------- Holy shit, pebkac, you're awesome! "Be who you are and say what you feel, because those who mind don't matter and those who matter don't mind." - Theodor Seuss Geisel (AKA Dr. Seuss) "An idea that is not dangerous is unworthy of being called an idea at all." - Oscar Wilde |
|
|
|
pebkac programming question! Feb 1 2008, 01:38 PM
Spectatrix If it's got a repeating digit (e.g. 1/3 = 0.33... Feb 1 2008, 02:03 PM
Jim QUOTE (Spectatrix @ Feb 1 2008, 02:03 PM)... Feb 1 2008, 02:32 PM
2wolUTT QUOTE (Jim @ Feb 1 2008, 02:32 PM) That p... Feb 1 2008, 02:57 PM
blaarg QUOTE (pebkac @ Feb 1 2008, 07:44 PM) Thi... Feb 2 2008, 01:13 PM
Jessica Im posting in this thread so I feel smart Feb 1 2008, 03:12 PM
theIncredibleEdibleDuane My advice...pick a new major. Feb 1 2008, 03:20 PM
impala454 interesting project... now I must do it.. ass. Feb 1 2008, 06:10 PM
zetec Derosiers does suck. He was supposed to be my advi... Feb 2 2008, 02:26 AM
Jim QUOTE (zetec @ Feb 2 2008, 02:26 AM) Dero... Feb 2 2008, 11:14 AM
pebkac Meh, I sent Derosiers an email and he basically to... Feb 3 2008, 06:27 PM
impala454 I haven't gotten around to doing this yet (ref... Feb 4 2008, 12:27 AM
zetec RE: programming question! Feb 4 2008, 01:48 PM
impala454 Finally got around to this in some bored time at w... Feb 15 2008, 10:13 AM
Spectatrix Too long. Cliff notes?
(I kid) Feb 15 2008, 10:22 AM
impala454 QUOTE (Spectatrix @ Feb 15 2008, 10:22 AM... Feb 15 2008, 11:30 AM
Spectatrix QUOTE (impala454 @ Feb 15 2008, 11:30 AM)... Feb 15 2008, 11:31 AM
pebkac Interesting. I can see why Desrosiers told me not... Feb 15 2008, 10:29 AM
zetec I was right about to say, why aren't you using... Feb 15 2008, 02:03 PM![]() ![]() |
| Lo-Fi Version | Time is now: 14th August 2026 - 02:50 PM |