Functions
Calculator++ has numerous functions (we haven't counted them yet), which are all computed to arbitrary precision. The default "low" precision is 128 decimal digits, but can easily be set to millions of digits or more by the user.

Scientific: trigonometric (inverse and hyperbolic), logarithmic, exponential (bases 2 through 36 and base e), etc.

Algebraic: square, cube, nth power, square root, cube root, nth root, percentage, etc.

Factorial: factorial, permutations, combinations

Statistics: mean, sum of squares, standard deviation, process capability, etc.

Binary: and, or, xor, not, left shift, and the inverses.

Memory: last, X↔Y, X↔M, M+, MS, etc. with standard singlevariable memory, and unlimitedvariable memory using statistics data storage

More...
Bases
Bases 2 (binary) through 36 (hexatrigesimal) are supported everywhere for all features. Period.
Since this is unique to Calculator++, we'll elaborate.

All display formats are displayed in the current base. Yes, even degreesminutesseconds.

Floating point (real) numbers are displayed in the current base, including the fractional portion. Yes, that's correct.

Exponents are entered and displayed in the same base as the mantissa. Your eyes don't deceive you. You read it correctly.

Results of unit conversions are displayed in the current base.

Statistical data are displayed in the current base.

In fact, the result of all functions are displayed in the current base.

Arbitrary precision works for all bases.
Display Format
Currently, Calculator++ supports six display formats; floating point, fixed point, scientific, engineering, degreesminutesseconds, and hoursminutesseconds. Here's a brief description of each:

Floating Point: Unless the decimal point won't otherwise be displayed, all digits and the decimal point are displayed.
Example: 12345.6789

Fixed Point: Unless the decimal point won't otherwise be displayed, all whole number (integer) digits, the decimal point, and the userspecified number of fraction digits are displayed.
Example: User sets 2 fixed digits: 12345.68

Scientific: The most significant digit, followed by the decimal point and as many fraction digits will fit in the display ended with "e" and the exponent.
Example: 1.23456789e+4

Engineering: The most one to three significant digits, followed by the decimal point and as many fraction digits will fit in the display ended with "e" and the exponent. The exponent is always a multiple of three.
Example: 12.3456789e+3

DegreesMinutesSeconds: The whole number (integer) digits, followed by the degree symbol, the number of minutes (059), the minutes symbol, the number of seconds (059), the seconds symbol, then any fractions of seconds.
Example: 12345°40'44"04

HoursMinutesSeconds: The whole number (integer) digits, followed by a colon, the number of minutes (059), a colon, the number of seconds (059), the decimal point, then any fractions of seconds.
Example: 12345:40:44.04
Unit Conversion
Currently, Calculator++ supports over 20,000 units in over 20 categories for conversion. Original and converted values are kept in separate displays. This is handy when converting a value to different units. Currency data used for conversions are downloaded from five highly respected original data sources; not thirdparty distributors. This extensive list will continue to expand, so be sure to return to this site for updates.
Precision
Calculator++ does not use approximations of constants for calculations, as is customary for every other conversion calculator we've seen so far. When a constant has digits that inherently are within a margin of error, the margin of error digits are truncated. Thus, when converting a unit, the result is accurate to the precision specified by the user. For example, converting from 80 kilometers to miles, with precision set to the default "low" of 128, the result, 49.709695378986717569394734749065457726875049709695378986717569394734749065457726875049709695378986717569394734749065457726875050, is accurate to all 128 digits, though only 49.709695378986717569394734749065457726875049709695378986717569394734749065458 will display. It is rare for any other calculator to be accurate to even the displayed value in Calculator++. We're still looking for examples, and haven't found any yet.
Logic
Simple Algebraic Notation, Algebraic Notation, and Reverse Polish Notation (RPN) are currently supported.
Platforms
Calculator++ is written in 100% Java. It should run fine on platforms which fully support Java 6 or later. So far, it has been tested on Windows, Linux, Mac OS X, and Solaris.