471,852 Members | 904 Online

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

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

numbers and fraction parts should be sufficient? what'ch think

Jul 22 '05 #1
10 2451

"sp0" <an*******@anonymous.com> wrote in message
news:Xn*******************************@199.45.49.1 1...
Is there a reason why to make mix numbers improper when adding?

numbers and fraction parts should be sufficient? what'ch think

Please give a specific code example of what you mean.

-Mike
Jul 22 '05 #2
Please give a specific code example of what you mean.

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

"sp0" <an*******@anonymous.com> wrote in message
news:Xn*******************************@199.45.49.1 1...
Please give a specific code example of what you mean.

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
In article <Xn*******************************@199.45.49.11> ,
sp0 <an*******@anonymous.com> wrote:
Is there a reason why to make mix numbers improper when adding?

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
On Mon, 1 Mar 2004, sp0 wrote:
Is there a reason why to make mix numbers improper when adding?

numbers and fraction parts should be sufficient? what'ch think

75/7 * 77/5
Jul 22 '05 #6

"sp0" <an*******@anonymous.com> wrote in message
news:Xn*******************************@199.45.49.1 1...
Please give a specific code example of what you mean.

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
In article <Xn*******************************@199.45.49.11> ,
sp0 <an*******@anonymous.com> wrote:
....
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
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
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

I suggest you store rationals as numerator-denominator and produce
mixed-fraction representations only as required. Or let the user produce
and can calculate the quotient and remainder from them, right?

Regards,
Buster.
Jul 22 '05 #9
Buster <no***@nowhere.com> wrote in message news:<c2**********@newsg4.svr.pol.co.uk>...
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
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

I suggest you store rationals as numerator-denominator and produce
mixed-fraction representations only as required. Or let the user produce
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
ju*******@hotmail.com wrote:
Buster <no***@nowhere.com> wrote in message news:<c2**********@newsg4.svr.pol.co.uk>...
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
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

I suggest you store rationals as numerator-denominator and produce
mixed-fraction representations only as required. Or let the user produce
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?

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.