***Now also available: ProgCalcPlus-includes floating point support, up to 10 macro programs, over 20 additional functions, and more. ***
ProgCalc is a comprehensive RPN calculator designed for programmers. It performs over 40 mathematical and logical operations and contains 16 storage registers. There are four stack registers (X,Y,Z, and T), and the display always shows both the normal representation (octal, decimal or hexadecimal) as well as the binary equivalent of the X register at the top of the stack. This allows you to immediately see the binary results of your logical operations. The calculator state is saved when the program is exited, so if you receive a phone call while working, all your information will be retrieved when you start the program again.
* Reverse Polish Notation (RPN) Logic
* Four item memory stack of 64 bit integers
* 16 storage registers with non-zero content indicators
* Comprehensive set of math and logical operations
* Shift and rotate by 1 bit or arbitrary bit count
* And, Or, Xor, Not, Nand, Nor, and Nxor
* Signed and Unsigned operations
* Byte Swap and Word Swap for Little-Big Endian calculations
* Min, Max, and Modulo functions
* 1’s complement and 2’s complement operations
* Stack operations including rotate registers down, up, exchange X/Y and Last X
* Convenience keys FF and 00 can ease data entry
* Free Updates
This calculator has both a signed and unsigned operation mode. In signed mode with a decimal display, a negative number is shown with its negative value. You can shift to unsigned mode to see the unsigned equivalent value. This advanced feature also allows you to do shifting with or without sign propagation. In other words, with signed mode, a right-shift of a negative number will shift in a 1-bit into the high order bit, while unsigned mode will shift in a 0-bit. Signed and unsigned mode is also used in other operations such as min and max. Signed mode will treat negative values as less than positive values, but unsigned mode will treat negative values as large integers. The signed/unsigned mode indicator is always displayed.
The set of 16 64-bit integer storage registers can be used to hold useful information such as base addresses or bit-flag patterns. When you store a non-zero value into a register, the key for that register will change color to remind you that there is a value stored there. The registers are also useful for repetitive calculations. You can store intermediate results and then use them repeatedly.
The RPN logic of the calculator allows powerful combinations of operations. For example, suppose you have a value that you would like to rotate or shift by a variable number of bits. You can calculate the number of bits to shift, and then with a simple operation, you can rotate or shift the bits by the calculated amount.
A useful function of the calculator is the Modulo function. This function returns the remainder of a division operation. For example, 17 modulo 5 is 2 which is the remainder resulting from dividing 17 by 5. The modulo function is a key operation used for calculating hash values in one of the most common hashing algorithms.
In summary, the ProgCalc calculator is designed specifically for operations that are useful for programmers. Important features found in this calculator that are not common in other calculators include the binary display, signed/unsigned mode, the modulo (hashing) function, byte/word swapping, 2’s complement function and many more.