### Re: How do you combine adding, subtracting, multiplying and division on a calcu

Date: Mon Nov 20 21:04:45 2000
Posted By: Joe McLeod, Staff, Advanced Services, Charter Communications
Area of science: Computer Science
ID: 974334499.Cs
Message:
```

To answer your question, we need to delve into the world of digital
logic.  All computing devices use collections of logic gates to implement
airthmetic operations.

For a good grounding in logic gates and their conceptual operation, please
see:

Summary of Logic Gates at Queen's University in Kingston, Ontario,

as well as

Dr. Jeffrey J. Gosper's
Simple Logic Gates page at Brunel University.  There is also a
simulator here that will allow you to see logic gates, and some of the
basic assemblages of logic gates, at work.

Physically, logic gates work by either allowing or inhibiting a voltage
through the gate.  For an overview on how TTL gates operate physically,
see:

Transistors and Digital Logic Gates, a web lecture from the Southern
Polytechnic State University's Computer Science Department.

As for "mixing" arithmetic operations, that can be construed on two
levels:  The digital logic level; and the algebraic level.

For the digital logic level, most modern computing devices have a
component referred to as an Arithmetic Logic Unit (ALU) which is a
collection of the logic gates described on Dr. Gosper's site, and which
serve just about any arithmetic function.  This is known as combinational
logic design.  A very good resource for combinational logic can be found
in Arithmetic Circuits.

This site also describes the numbering systems used in Binary Coded
Decimal (BCD) notation.

Also, as you progress through the material at this site, you will see
references to control lines and function inputs.  These two concepts are
the key to understanding how a multi-function array of logic gates
operate.  In the case of an ALU, the individual logic gates will have more
than two inputs (sometimes many more).  Included in these inputs will be a
control line (or lines) which turns the gate "on".  That control line
receives its instructions (which gates to turn on for an arithmetic
operation, and which to leave off) from an encoder.  The encoder takes
your input (i.e. you entered 2 + 3 on a keypad) and formats it for
processing by the ALU.  The encoder is where function inputs are formatted
in order to tell the ALU which gates and values to use for the operation.

At the algebraic level, computing devices observe the same order of
precedence as a person would when performing calculations on paper; the
primary difference is that a person may not always enforce the precedence
correctly, whereas the computing device will.  That order is, from left to
right in an equation, multiplication, division, addition, and
subtraction.  With that in mind, it is also the person's responsibility to
ensure that an equation entered in a computing device is written in the
correct order.

As for rounding, most computing devices do not begin to round until they
exceed their units of precision.  Rounding, in the digital logic sense,
refers more to the closest number in a range of very small or very large
numbers.  To accomplish rounding, a Floating-Point Unit(FPU) is employed.
The FPU may or may not be incorporated into an ALU.

There is a freeware book online at Rutgers University entitled PRINCIPLES OF
COMPUTER ARCHITECTURE by Miles Murdocca which covers almost every
aspect of your question.  I have only given the book a cursory inspection,
but it seems to be quite complete and correct.  You will need the Adobe
Acrobat Reader to view the book, and it is available via a link on that
page.

For information on Floating Point logic, see Appendix A in the above
referenced work.

free to contact me directly, or post a follow-up question on MAD Scientist.

Thanks,
Joe

```

Current Queue | Current Queue for Computer Science | Computer Science archives