By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
 429,470 Members | 924 Online + Ask a Question
Need help? Post your question and get tips & solutions from a community of 429,470 IT Pros & Developers. It's quick & easy.

# is there a reason why to make mix numbers improper when adding?

 P: n/a Is there a reason why to make mix numbers improper when adding? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think Jul 22 '05 #1
Share this Question
10 Replies

 P: n/a "sp0" wrote in message news:Xn*******************************@199.45.49.1 1... Is there a reason why to make mix numbers improper when adding? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think Please give a specific code example of what you mean. I don't understand your questions. -Mike Jul 22 '05 #2

 P: n/a Please give a specific code example of what you mean. I don't understand your questions. temp.whole = whole - obj2.whole; temp.numer = ((whole * denom + numer)*obj2.denom) - ((obj2.whole * obj2.denom + obj2.numer)*denom); temp.denom = denom * obj2.denom; temp.reduce(); subtracting the wholes instead of making both fractions improper Jul 22 '05 #3

 P: n/a "sp0" wrote in message news:Xn*******************************@199.45.49.1 1... Please give a specific code example of what you mean. I don't understand your questions. temp.whole = whole - obj2.whole; temp.numer = ((whole * denom + numer)*obj2.denom) - ((obj2.whole * obj2.denom + obj2.numer)*denom); temp.denom = denom * obj2.denom; temp.reduce(); subtracting the wholes instead of making both fractions improper So what other method would you propose? Does it produce correct results? -Mike Jul 22 '05 #4

 P: n/a In article , sp0 wrote: Is there a reason why to make mix numbers improper when adding? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think It need not be done that way, but when multiplying or dividing mixed numbers it is much easier to do in improper fraction form. Jul 22 '05 #5

 P: n/a On Mon, 1 Mar 2004, sp0 wrote: Is there a reason why to make mix numbers improper when adding? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think 75/7 * 77/5 Jul 22 '05 #6

 P: n/a "sp0" wrote in message news:Xn*******************************@199.45.49.1 1... Please give a specific code example of what you mean. I don't understand your questions. temp.whole = whole - obj2.whole; temp.numer = ((whole * denom + numer)*obj2.denom) - ((obj2.whole * obj2.denom + obj2.numer)*denom); temp.denom = denom * obj2.denom; temp.reduce(); subtracting the wholes instead of making both fractions improper You will get help on this group, if you post compilable code, say what you expect the code to produce, and what it produces instead. At the moment no-one has very much idea what your problem is. This is covered in the FAQ, 'How to I post a question about code that doesn't work correctly?' http://www.parashift.com/c++-faq-lit...t.html#faq-5.8 john Jul 22 '05 #7

 P: n/a In article , sp0 wrote: .... It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think That's how I was taught to do it in primary school long ago. Ken Pledger. Jul 22 '05 #8

 P: n/a sp0 wrote: Is there a reason why to make mix numbers improper when adding? Is there a reason to store a fraction as a whole number and a fractional part? Doesn't it lead to a lot of unnecessary complications (like this one) in your code? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think Adding or subtracting the fractional parts will be formally exactly the same as adding or subtracting two improper fractions. All a mixed representation does is add complexity. I suggest you store rationals as numerator-denominator and produce mixed-fraction representations only as required. Or let the user produce them herself. She has access to the (coprime) numerator and denominator and can calculate the quotient and remainder from them, right? Regards, Buster. Jul 22 '05 #9

 P: n/a Buster wrote in message news:... sp0 wrote: Is there a reason why to make mix numbers improper when adding? Is there a reason to store a fraction as a whole number and a fractional part? Doesn't it lead to a lot of unnecessary complications (like this one) in your code? It seems when subtracting and adding, adding a subtracting the whole numbers and fraction parts should be sufficient? what'ch think Adding or subtracting the fractional parts will be formally exactly the same as adding or subtracting two improper fractions. All a mixed representation does is add complexity. I suggest you store rationals as numerator-denominator and produce mixed-fraction representations only as required. Or let the user produce them herself. She has access to the (coprime) numerator and denominator and can calculate the quotient and remainder from them, right? Why not also leave numbers in binary or hexadecimal form for her? Can't she convert them to decimal herself? The needs of the machine and the needs of the human are different. Have the machine use whatever format is most efficient for its own work, and have it perhaps convert to another format to show the human. Why on earth would she care how the computer stores the numbers, as long as the answers come out right? Do you care what makes the sun shine, or is it enough to know that it shines and will almost certainly continue to shine for billions of years? Regards, Buster. Jul 22 '05 #10

 P: n/a ju*******@hotmail.com wrote: Buster wrote in message news:...sp0 wrote:Is there a reason why to make mix numbers improper when adding?Is there a reason to store a fraction as a whole number and a fractionalpart? Doesn't it lead to a lot of unnecessary complications (like thisone) in your code?It seems when subtracting and adding, adding a subtracting the wholenumbers and fraction parts should be sufficient? what'ch thinkAdding or subtracting the fractional parts will be formally exactly thesame as adding or subtracting two improper fractions. All a mixedrepresentation does is add complexity.I suggest you store rationals as numerator-denominator and producemixed-fraction representations only as required. Or let the user producethem herself. She has access to the (coprime) numerator and denominatorand can calculate the quotient and remainder from them, right? Why not also leave numbers in binary or hexadecimal form for her? Can't she convert them to decimal herself? It goes without saying that the numbers will be returned in binary form in the scheme I have described. Are you suggesting that the value of "a+b" (where a and b are rationals) should be a string? By all means provide utility functions to create string representations in whatever format you like, but they won't be used until after the users have finished their calculations, and those calculations will in general be simpler to program if you use the simpler numerator-denominator representation. The needs of the machine and the needs of the human are different. Not in any essential way, when it comes to calculating with integers. Have the machine use whatever format is most efficient for its own work, and have it perhaps convert to another format to show the human. What's your point? What's wrong with the numerator-denominator format? That's how I prefer to write fractions when calculating on paper, the reasons being essentially the same as the reasons that I would use that format internally in a rational number class. Why on earth would she care how the computer stores the numbers, as long as the answers come out right? The concept of a rational number is defined in terms of a numerator and denominator. It really is, honest. A rational number is an equivalence class of ordered pairs (a, b) where a and b are integers, b is nonzero and (a, b) is defined to be equivalent to (c, d) if and only a*d == b*c. Anyone who provides me with a rational number class had better assume I'm going to be interested in obtaining a numerator and denominator from an instance. Given two rational number classes I would try, /ceteris paribus/, to choose the more efficient. If this were independent of the internal representation then fine, but it isn't. Do you care what makes the sun shine, or is it enough to know that it shines and will almost certainly continue to shine for billions of years? Sure I care what makes the sun shine. Where's your childlike wonder? If everyone thought like that we'd all still be in dark ages. Regards,Buster. Jul 22 '05 #11

### This discussion thread is closed

Replies have been disabled for this discussion. 