One thing that's really handy to know about bc is how to use it for base conversion.
By default, bc takes its input and prints its output in decimal. However, you can set either the input or the output to be some other base numbering system - for example, hexadecimal or binary - using the ibase and obase commands.
For example, to find the decimal equivalents to a hexadecimal number, set ibase to 16, and leave obase alone (i.e., as decimal). Simply type the number (or a series of numbers separated by semicolons) you want converted, and press RETURN. The decimal equivalent will be printed below. (Hexadecimal numbers from A to F must be typed in uppercase, or bc will report an error.) For example:
%bc ibase=16 B6;7F;FFF
182 127 4095
Or if you wanted to convert to hexadecimal, you'd set obase to 16, and leave ibase at 10:
%bc obase=16 142
8E
Or, to convert binary to hexadecimal, set ibase=2
and obase=16
(or ibase=16
and obase=2
for the reverse operation):
%bc obase=16 ibase=2 11010001
D1
Type CTRL-d to exit bc. Be careful to set obase before ibase, or you will have problems (49.3).
-