Marco's Object Oriented calculator
A simple calculator that accepts C-like syntax as input. Calculations are done
, if given. Otherwise, the standard
input is used.
Numbers can be entered in hexadecimal (0xbeef), decimal (1984), octal (007), and
binary (0b1001). All numerical operators (+, -, *, /, %), bit operators (|, ^,
&, ~, <<, >>), and logical operators (==, !=, <, >,
<=, >=, !, &&, ||) are supported.
Output will be in the same bases as the input, unless a different base was
flag below). If only one
number is input, the result is printed in all bases.
The options are:
- Output numbers in base format.
base can be 2, 8, 10, 16, or `all'.
Multiple bases may be specified by giving the
-b flag multiple times.
- Output bit labels for binary results.
- Output base 10 numbers as signed.
- Output base 10 numbers as unsigned.
was written for the public domain by
much whining by Marco Peereboom.
Integer overflows are not checked. Marco says, ``I don't think you should call
the integer overflows a bug but a feature. You can use it to test signed
Calculations are limited to the size of a 64-bit integer.
parses ``3--2'' without error.