Integer Arithmetics' History & Description

Last Up date on: 2003 November 14

I started a high precision Integer Arithmetic program over about the last 5 years. I have decided to make it available to anyone who wants to down load it.

Briefly, it is a program just over 6000 bytes long that runs under DOS on any PC. It will even run on the first PC's that used 8088 microprocessors. I first named the program DH because it originated as a simple program to convert large numbers from Decimal to Hex. As time went by features were added, including about eight arithmetic functions: Add, Subtract, Multiply, Divide, Powers, Square Roots, and Combinations & Permutations. Also the ability to input numbers in any number base from 2 to 255, and to output them in any base 2 to 16. While the original function of Decimal to Hex conversion has not been sacrificed, there is so much more that I decided to rename it to IA for Integer Aritimetic.

Values in IA are kept in a Forth/HP calculator like stack. When I refere to large numbers I should explain that each value is kept in variable length binary, and can be as short as 1 word (16 bits) up to over 25,000 words. The size of numbers is usually limited to about 65,000 decimal digits, which is actually an output conversion limitation.

IA has been much influenced by features that I liked and a few that I disliked, from: APL, Forth, HP calculators, and Fortran.

From APL: all operations are done with single special characters, User input is indented IA output is not.

From Forth: Values are kept on a stack, and operations work on the top of the stack, this is sometimes called Postfix Polish Notation.

From HP: with the Model 80 HP introduced the idea of a Prefix key (the Yellow key on the 80) that changed the meaning of the next key. In IA the period or dot changes what follows.

From Fortran: Generally the space character is ignored and can be used to make the input a little more readable.

IA runs in a DOS environment, a MS-DOS Window works fine.


If you have suggestions, comments or ideas e-mail me. I would like to hear from you.
My Home Page or Jump to TOP of this page.