【中文版】

Introduction

MFP language introduction

operators

function

variable

if

while do for

break continue

select

try catch

class

call

citingspace

help

@compulsory_link

@execution_entry

@build_asset

MFP functions

deploy user functions

call MFP in your app

build Android APK

game programming

chart plotting

MFP math analysis

MFP file procession

number string and array

time date and system

Introduction of SCP

Scientific Calculator Plus Help : Operators supported

Operator Definition Examples
=
Assign operator which assign a value to a variable. x = 3 + 4 assigns 7 to variable x.
==
Equal sign which means left part has the same value as right part. x + 1 == 7 + 3 means x + 1 has the same value as 7 + 3 (i.e. 10). Then x can be solved which is 9.
(
Left parenthesis. Expression part inside a pair of parentheses should be calculated first. x * (y + 3)
)
Right parenthesis. Expression part inside a pair of parentheses should be calculated first. x * (y + 3)
[
Square bracket which starts an array. [[1,2,3],[4,5,6]] is a 2*3 matrix whose first line includes elements 1, 2 and 3 and second line includes elements 4, 5 and 6.
]
Close square bracket which ends an array. [[1,2,3],[4,5,6]] is a 2*3 matrix whose first line includes elements 1, 2 and 3 and second line includes elements 4, 5 and 6.
,
Comma character which seperates individual elements in an array. [2,3,4,5] has four elements seperated by commas.
+
Plus sign, which supports complex number, matrix and string. 2.3 + 4.6 + 2i = 6.9 + 2i
[1, 2] + [3, 4] = [3, 6]
[1, 2] + " hello" = "[1,2] hello"
-
Minus sign, which supports complex number and matrix. 4.6 - 2.3 = 2.3
[1, 2] - [3, 4] = [-1, -1]
*
Multiplication sign, which supports complex number and matrix and has higher priority than + (plus sign) and - (minus sign). 1 + 2 * 3i = 1 + 6i
[[1, 2]] * [[3], [4]] = [[11]]
/
Division sign, which supports complex number and matrix and has higher priority than + (plus sign) and - (minus sign). 6 - 3 / 2i = 6 + 1.5i
[[10,0.5]]/[[1,2],[3,4]] = [[-19.25,9.75]]
\
Left division (mainly for matrix to calculate x from Ax=b (i.e. x = A\b), note that first operand is divisor, do the same operation to division if divisor is not a matrix). 6 - 3 / 2i = 6 + 1.5i
[[1,2],[3,4]]\[[11],[32]] = [[10], [0.5]]
&
Bit wise and, which has higher priority than + (plus sign), - (minus sign), *, /. Note that it only accept non-negative operands. Moreover, if any of its two operands is not integer, it will be converted to an integer first. 4 + 5.2 & 3.7 = 5
|
Bit wise or, which has higher priority than + (plus sign), - (minus sign), *, /. Note that it only accept non-negative operands. Moreover, if any of its two operands is not integer, it will be converted to an integer first. 2.8 / 5.2 | 3.7 = 7
^
Bit wise xor, which has higher priority than + (plus sign), - (minus sign), *, /. Note that it only accept non-negative operands. Moreover, if any of its two operands is not integer, it will be converted to an integer first. 14.2 / 5.2 ^ 3.7 = 2.3667
**
Power, which has higher priority than + (plus sign), - (minus sign), *, /, &, |, ^. Note that both the first and the second operands can be complex number. 2 * 4 ** 3 = 128
(-4)**0.5 = 2i
3**(2+i) = 4.0935 +8.0152*i
+
Positive sign, which has higher priority than all the binary operators, e.g. + (plus sign), *, ^ and **. Note that positive sign supports arrays. 4 - +3 = 1
+[4,3] = [4, 3]
-
Negative sign, which has higher priority than all the binary operators, e.g. + (plus sign), *, ^ and **. Note that negative sign supports arrays. 4 ** -1 = 0.25
-1 ** 4 = 1
-[3.71i, [4, 5.33-6i]] = [-3.71*i,[-4, -5.33+6*i]]
%
Percentage, which has higher priority than all the binary operators and + (positive sign) and - (negative sign). Note that this operator does not support complex number. -401.78% = -4.0178
5.77% = 0.0577
!
Not sign, which has higher priority than all the binary operators and + (positive sign) and - (negative sign). If its operand is non-zero, it returns false, otherwise, it returns true. Note that this operator does not support complex number. !-0.2 = False
~
Bit wise not, which has higher priority than all the binary operators and + (positive sign), - (negative sign) and ! (not sign). Not that it only accepts non-negative operand. Moreover, if the operand is not integer, it will be converted to an integer first. ~0 = -1
~0.1 = -1
~9 = -10
!
Factorial sign, which has higher priority than all the binary operators and left unary operators. Not that it only accepts non-negative operand. Moreover, if the operand is not integer, it will be converted to an integer first. 7! = 5040
'
1D or 2D matrix or single value transpose, which has higher priority than all the binary operators and left unary operators. Note that it converts a 1D matrix to 2D matrix but returns the original value of single value operand. (3 + 4i)' = (3 + 4i)
[1, 2+3i]' = [[1], [2+3i]]
[[1, 2],[3,4]] = [[1,3], [2, 4]]