Base-N integer and logic functions are listed in alphabetical order below. The calculator must be in a base-N mode to access these functions.

Bitwise shift left where the MSB is lost. This is a postfix function which may be repeated as many times as required. If the value represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation.

Bitwise shift right where the LSB is lost. This is a postfix function which may be repeated as many times as required. If the value represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation.

Performs a bitwise AND operation between two integer values. If either argument represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

Exchanges the byte order between Big Endian (network order) and Little Endian (Intel). Works with either 32 or 64 bit integers. If the value represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

**Example:**

[HEX] 944 [BE-LE]Displays: 4409 0000 (hex)

BE-LE acts as a toggle, and pressing it again reverses the operation. It can be found
under the **LOGIC** menu.

Displays the current value as a multiple of 1024 and shows an appropriate KB, MB, GB, TB indication.

**Example:**

[DEC] 34329232 [KB]Displays: 32 MB[KB]Displays: 34329232 KB

This operation works in a similar way to the **[ENG]** key and may be pressed several times to adjust the
magnitude. The underlying numerical value remains unchanged. It may also be used in combination with
**[SHIFT]**.

Performs a bitwise NOT operation on the input value. If the value represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

Performs a bitwise OR operation between two integer values. If either argument represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

REM divides the first argument by the second, and returns the remainder.

**Example:**

[DEC] 13 [REM] 9 [ENTER]Displays: 4

DreamCalc handles signed input according to the rules defined for the "%" operator in C99 and C++11. The following examples illustrate this.

- 8 REM 7 = 1
- 8 REM -7 = 1
- -8 REM 7 = -1
- -8 REM -7 = -1

The MOD function is similar, but handles signed input differently.

Performs a bitwise XNOR operation between two integer values. If either argument represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

Performs a bitwise XOR operation between two integer values. If either argument represents a floating point value with a fractional part, it is first converted to 64 bit integer for the operation and any fractional component will be lost.

See also: Base-N Calculations