# Engineering Functions

Converting Between Units of Measurement. Testing Numeric Values. Bessel Functions.Complex Numbers. Converting Between Bases. Error Function. Bitwise Functions.
• BIN2DEC

The BIN2DEC function converts a signed binary number to decimal format.

BIN2DEC(101)
 signed_binary_number (number) The signed 10-bit binary value to be converted to decimal, provided as a string.
• BIN2HEX

The BIN2HEX function converts a signed binary number to signed hexadecimal format.

BIN2HEX(101,8)
 signed_binary_number (number) The signed 10-bit binary value to be converted to signed hexadecimal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• BIN2OCT

The BIN2OCT function converts a signed binary number to signed octal format.

BIN2OCT(101,8)
 signed_binary_number (number) The signed 10-bit binary value to be converted to signed octal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• BITAND

The BITAND function returns the bitwise boolean AND of two numbers.

BITAND(10,9)
 value1 (number) The first number - Must be the decimal representation of the number. value2 (number) The second number - Must be the decimal representation of the number.
• BITLSHIFT

The BITLSHIFT function shifts the bits of the input a certain number of places to the left. Bits on the right are filled with zeroes (0s).

BITLSHIFT(2,2)
 value (number) The number to be shifted - Must be a non-negative number. shift_amount (number) The number of places to shift - Must be a value between -53 and 53, inclusive. Supplying a negative value will effectively be a BITRSHIFT.
• BITOR

The BITOR function returns the bitwise Boolean OR of 2 numbers. The BITOR truth table is below:

BITOR(9, 5)
 value1 (number) The first number - The given value must be a decimal representation of the number. value2 (number) The second number - The given value must be a decimal representation of the number.
• BITRSHIFT

The BITRSHIFT function shifts the bits of the input a certain number of places to the right. Bits on the left are filled with zeroes.

BITRSHIFT(8, 2)
 value (number) The number to be shifted - The given value must be a non-negative number. shift_amount (number) The number of places to shift the given value - The given number must be a number from -52 to 53. Entering a negative value is effectively a BITLSHIFT function.
• BITXOR

The BITXOR function is a bitwise XOR (exclusive or) of 2 numbers that returns a bit of "1" if 2 bits are different, and a bit of "0" otherwise. This function returns a number that's the result of performing an XOR function at each bit of the 2 given numbers.

BITXOR(9, 5)
 value1 (number) The first numeric value. value2 (number) The second numeric value.
• COMPLEX

The COMPLEX function creates a complex number, given real and imaginary coefficients.

COMPLEX(3, 4)
 real_part (number) The real coefficient. imaginary_part (number) The imaginary coefficient.
• CONVERT

Converts a numeric value to a different unit of measure.

CONVERT(5.1, "g", "kg")
 value (number) the numeric value in start_unit to convert to end_unit start_unit (string) The starting unit, the unit currently assigned to value .
• DEC2BIN

The DEC2BIN function converts a decimal number to signed binary format.

DEC2BIN("100",8)
 decimal_number (number) The decimal value to be converted to signed binary, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• DEC2HEX

The DEC2HEX function converts a decimal number to signed hexadecimal format.

DEC2HEX(100,8)
 decimal_number (number) The decimal value to be converted to signed hexadecimal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• DEC2OCT

The DEC2OCT function converts a decimal number to signed octal format.

DEC2OCT("100",8)
 decimal_number (number) The decimal value to be converted to signed octal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• DELTA

Compare two numeric values, returning 1 if they're equal.

DELTA(2, 1)
 number1 (number) The first number to compare. number2 (number) Optional: The second number to compare
• ERF

The ERF function returns the integral of the Gauss error function over an interval of values.

ERF(-2.3, -0.7)
 lower_bound (number) If this parameter is the only parameter, the integral is taken between 0 and this value. If z2 is provided, it refers to the lower boundary for the integral. upper_bound (number) Optional: The upper boundary of the integral.
• ERF_PRECISE

Returns the result of the Gauss error function.

ERF_PRECISE(-2.3, -0.7)
 z1 (number) If this is the only parameter, the integral is taken between 0 and this value. If z2 is provided, this is the lower bound for the integral. z2 (number) The upper bound of the integral.
• ERFC

The ERFC function returns the complementary Gauss error function of a value.

ERFC(2)
 z (number) The number for which to calculate the complementary Gauss error function.
• GESTEP

The GESTEP function returns 1 if the rate is strictly greater than or equal to the provided step value, or 0 otherwise. If no step value is provided, then the default value of 0 is used.

GESTEP(5, 2)
 value (number) The value to test against the step number. step (number) Optional: The value to be tested against. It's 0 if the argument is left blank.
• HEX2BIN

The HEX2BIN function converts a signed hexadecimal number to signed binary format.

HEX2BIN("f3",8)
 signed_hexadecimal_number (number) The signed 40-bit hexadecimal value to be converted to signed binary, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• HEX2DEC

The HEX2DEC function converts a signed hexadecimal number to decimal format.

HEX2DEC("f3")
 signed_hexadecimal_number (number) The signed 40-bit hexadecimal value to be converted to decimal, provided as a string.
• HEX2OCT

The HEX2OCT function converts a signed hexadecimal number to signed octal format.

HEX2OCT("f3",8)
 signed_hexadecimal_number (number) The signed 40-bit hexadecimal value to be converted to signed octal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• IMABS

Returns the absolute value of a complex number.

IMABS("3+4i")
 number (string) The complex number to calculate the absolute value of.
• IMAGINARY

Returns the imaginary coefficient of a complex number.

IMAGINARY("4+5i")
 complex_number (string) The complex number, in the a+bi or a+bj format.
• IMARGUMENT

The IMARGUMENT function returns the angle (also known as the argument, or theta) of the given complex number in radians. This is the angle θ such that, for any complex number in Cartesian form x + yi, x + yi = reiθ where r is the magnitude of the number.

IMARGUMENT(4)
 number (any) The complex number whose argument will be calculated.
• IMCONJUGATE

Returns the complex conjugate of a number.

IMCONJUGATE("3+4i")
 number (string) The complex number to calculate the conjugate for.
• IMCOS

The IMCOS function returns the cosine of the given complex number. For example, a given complex number "x+yi" returns "cos(x+yi)."

IMCOS(4)
 number (string) The complex number for which you want the cosine.
• IMCOSH

The IMCOSH function returns the hyperbolic cosine of the given complex number. For example, a given complex number "x+yi" returns "cosh(x+yi)."

IMCOSH(4)
 number (string) The complex number for which you want the hyperbolic cosine.
• IMCOT

The IMCOT function returns the cotangent of the given complex number. For example, a given complex number "x+yi" returns "cot(x+yi)."

IMCOT(4)
 number (string) The complex number for which you want the cotangent.
• IMCSC

The IMCSC function returns the cosecant of the given complex number. For example, a given complex number "x+yi" returns "csc(x+yi)."

IMCSC(4)
 number (string) The complex number for which you want the cosecant.
• IMCSCH

The IMCSCH function returns the hyperbolic cosecant of the given complex number. For example, a given complex number "x+yi" returns "csch(x+yi)."

IMCSCH(4)
 number (string) The complex number for which you want the hyperbolic cosecant.
• IMDIV

Returns one complex number divided by another.

IMDIV("11+16i", "3+2i")
 dividend (string) The complex number to be divided. divisor (string) The complex number to divide by.
• IMEXP

The IMEXP function returns Euler's number, e (~2.718) raised to a complex power.

IMEXP("2+3i")
 exponent (string) The exponent to raise e to.
• IMLN

The IMLN function returns the logarithm of a complex number, base e (Euler's number).

IMLN("3+4i")
 number (string) The input value of the logarithm function.
• IMLOG10

The IMLOG10 function returns the logarithm of a complex number with base 10.

IMLOG10(100, 10)
 value (any) The input value of the logarithm function.
• IMLOG2

The IMLOG2 function returns the logarithm of a complex number with base 2.

IMLOG2(100, 10)
 value (any) The input value of the logarithm function.
• IMPOWER

The IMPOWER function returns a complex number raised to a power.

IMPOWER("4-3i",0.5)
 complex_base (string) The complex number to raise to the exponent power. exponent (number) The exponent to raise complex_base to.
• IMPRODUCT

Returns the result of multiplying a series of complex numbers together.

IMPRODUCT("1+2i",3,"4i")
 factor1 (string) The first complex number or range to calculate for the product. factor2 (string) Optional: More complex numbers to multiply by.
• IMREAL

Returns the real coefficient of a complex number.

IMREAL("4+5i")
 complex_number (string) The complex number, in the a+bi or a+bj format.
• IMSEC

The IMSEC function returns the secant of the given complex number. For example, a given complex number "x+yi" returns "sec(x+yi)."

IMSEC(4)
 number (any) The complex number for which you want the secant.
• IMSECH

The IMSECH function returns the hyperbolic secant of the given complex number. For example, a given complex number "x+yi" returns "sech(x+yi)."

IMSECH(4)
 number (any) The complex number for which you want the hyperbolic secant.
• IMSIN

The IMSIN function returns the sine of the given complex number. For example, a given complex number "x+yi" returns "sin(x+yi)."

IMSIN(4)
 number (any) The complex number for which you want the sine.
• IMSINH

The IMSINH function returns the hyperbolic sine of the given complex number. For example, a given complex number "x+yi" returns "sinh(x+yi)."

IMSINH(4)
 number (any) The complex number for which you want the hyperbolic sine.
• IMSQRT

The IMSQRT function computes the square root of a complex number.

IMSQRT(2)
 complex_number (number) The complex number to take the square root of.
• IMSUB

Returns the difference between two complex numbers.

IMSUB("6+5i", "2+3i")
 first_number (string) The complex number to subtract second_number from. second_number (string) The complex number to subtract from first_number.
• IMSUM

Returns the sum of a series of complex numbers or variables or both.

IMSUM("1+2i",3,"4i")
 value1 (mixed) The first complex number or range to add together. value2 (mixed) Optional: More complex numbers or ranges to add to value1.
• IMTAN

The IMTAN function returns the tangent of the given complex number. For example, a given complex number "x+yi" returns "tan(x+yi)."

IMTAN(4)
 number (mixed) The complex number for which you want the tangent.
• OCT2BIN

The OCT2BIN function converts a signed octal number to signed binary format.

OCT2BIN(37,8)
 signed_octal_number (number) The signed 30-bit octal value to be converted to signed binary, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.
• OCT2DEC

The OCT2DEC function converts a signed octal number to decimal format.

OCT2DEC(37)
 signed_octal_number (number) The signed 30-bit octal value to be converted to decimal, provided as a string.
• OCT2HEX

The OCT2HEX function converts a signed octal number to signed hexadecimal format.

OCT2HEX(37,8)
 signed_octal_number (number) The signed 30-bit octal value to be converted to signed hexadecimal, provided as a string. significant_digits (number) Optional: The number of significant digits to ensure in the result.