# Overview

```ccc is a tiny arbitrary-precision integer calculator.

In order to build ccc you'll need libgmp ( http://gmplib.org/ ) and

Type ".help" from within the calculator to get the manual:

Arbitrary precision integer arithmetic:
3 * (5 + 8)**15 / 50 % 8
\$1 => 76778839521136135

Support for hexadecimal, octal and binary input:
0b11 * (5 + 010)**0xf / 50 % 8
\$2 => 76778839521136135

Output base conversion:
42**2:h
\$3 => 0x6e4
42**2:o
\$4 => 03344
42**2:b
\$5 => 0b11011100100

C-style Bitwise operators:
0b1011 & 0b1110:b
\$6 => 0b1010
0b1011 | 0b1110:b
\$7 => 0b1111
0b1011 ^ 0b1110:b
\$8 => 0b101
0b1011 >> 2:b
\$9 => 0b10
0b1011 << 2:b
\$10 => 0b101100

The NOT operator is binary.
The left hand operand is the number of bits to complement:
16~0b1001:b
\$11 => 0b1111111111110110
8~0b1001:b
\$12 => 0b11110110

Helper to display human-readable size and time:
42**4:s
\$13 => 2MB 990KB 784B
42**4:t
\$14 => 5 weeks 1 day 21 minutes 36 seconds

Variables handling:
.set foo 58
\$foo => 58
\$foo / 4
\$15 => 14
.set bar 20 * \$14
\$bar => 280
.dump :h
1 = 0x110c5f29fec8e07
2 = 0x110c5f29fec8e07
...
foo = 0x3a
bar = 0x118
.hist
3 * (5 + 8)**15 / 50 % 8
0b11 * (5 + 010)**0xf / 50 % 8
42**2:h
...
.set bar 20 * \$12
.dump :h
```