- BC - an arbitrary precison desk-calcuator language
- Robert Morris died on 26th June 2011 (Robert Morris and Lorinda Cherry created the BC exact arithmetic programming language)
- Manuals for BC 1.06; Cálculo numérico con bc (Spanish introduction to BC)
- Download site for BC 1.06.95:
- Some bugs and idiosyncracies
- List of bc programs written by Keith Matthews
- Some BCMath (online) programs
- BC has been included in PHP as BCMATH and in this form can produce nice HTML output.

Many of my BC programs have been converted to BCMATH programs. - Formatting the output in BC in oneline (Stack Overflow)

- BC has been included in PHP as BCMATH and in this form can produce nice HTML output.
- Download site for my bc programs: (gzipped tar version)
- Updates

bc-1.06 is a superior version of the basic bc program which comes with the UNIX operating system.

To run a bc program such as `gcd` below, type ` bc gcd`.
This loads the **bc** program and the bc program `gcd`.

As a calculator, **bc** has a number of standard operations:

`5+3, 5*3, 5/3,` (=integer part), `5%3, `(=least remainder),` 5^3, sqrt(n)`.

global array variables can be entered: `m[0]=5;m[1]=3;m[2]=7`

Typing `z=lcma(m[ ],3)` and then `z`, prints and stores z, the
lcm of 5, 3 and 7.

Consult the **bc** manual for more information.

- When using the if-else construction, insert a "
`\`", as follows:if(expression){statement1}\ else{ statement2}

Alternatively, as pointed out by Anton Stiglic, use the constructionif(expression){ statement1 }else{ statement2 }

- There was a bug in BC 1.06 under some Solaris platforms, which causes my program
`squareroot`below to give a bus error, though not under linux. - There can be a problem with number of auto variables allowed in a bc function in BC 1.06. (This arose recently on my Imac, when after updating the OS to Snow Leopard, I was getting an
`Abort Trap`error message.) The auto variables appear to be accounted for internally together with all other variables, so the only limitation is the total number of names in the whole program. This is shown by the command`limits`which is 32767 on some systems. I had no problem with BC 1.06.95. - The
`continue`statement only works for`for`loops. - Alan Offer has pointed out that f(*b[]) changes the array values.

*Email*
*http://www.numbertheory.org/keith.html*

* Last modified 26th January 2016*