# Math Filters

Add: Adds 2 values together and returns the answer. In this example, the filter adds 4 to 3 and the variable "add" becomes 7.

Bitwise Operators: Working on bytes, or Data Types comprising of bytes like ints, floats, doubles or even data structures which store large amounts of bytes is normal for a programmer. In some cases, a programmer needs to go beyond this - that is to say, on a deeper level where the importance of bits is realized.

Operations with bits are used in Data Compression (data is compressed by converting it from one representation to another, to reduce the space), Exclusive-Or Encryption (an algorithm to encrypt the data for safety issues). In order to encode, decode, or compress files we have to extract the data at bit level. Bitwise Operations are faster and closer to the system and sometimes optimize the program to a good level.

We all know that 1 byte comprises of 8 bits and any integer or character can be represented using bits in computers, which we call its binary form(contains only 1 or 0) or in its base 2 form.

Bitwise_and: Bitwise AND 2 values together and return the answer The output of bitwise AND is 1 if the corresponding bits of two operands is 1. If either bit of an operand is 0, the result of the corresponding bit is evaluated to 0. Here's an example with the binary values written out:

`12 = 00001100 (In Binary)25 = 00011001 (In Binary)​Bit Operation of 12 and 25  00001100& 00011001  ________  00001000  = 8 (In decimal)`

We will set up the same example in Xano and change the number variable to 12. We will add the filter bitwise_and with the value 25: The variable value becomes: 8

Bitwise_or: Bitwise OR 2 values together and return the answer The output of bitwise OR is 1 if at least one corresponding bit of two operands is 1. In C Programming, bitwise OR operator is denoted by |. Here's an example with the binary values written out:

`12 = 00001100 (In Binary)25 = 00011001 (In Binary)​Bitwise OR Operation of 12 and 25  00001100| 00011001  ________  00011101  = 29 (In decimal)`

We will set up the same example in Xano and change the number variable to 12. We will add the filter Bitwise_OR with the value 25: The variable number becomes: 29

Bitwise_xor: Bitwise XOR 2 values together and return the answer The result of bitwise XOR operator is 1 if the corresponding bits of two operands are opposite. It is denoted by ^. The exclusive-or operation takes two inputs and returns a 1 if either one or the other of the inputs is a 1, but not if both are. That is, if both inputs are 1 or both inputs are 0, it returns 0. Bitwise exclusive-or, with the operator of a caret, ^, performs the exclusive-or operation on each pair of bits. Exclusive-or is commonly abbreviated XOR. Here's an example with the binary values written out:

`12 = 00001100 (In Binary)25 = 00011001 (In Binary)​Bitwise XOR Operation of 12 and 25  00001100^ 00011001  ________  00010101  = 21 (In decimal)`

We will set up the same example in Xano and change the number variable to 12. We will add the filter Bitwise_xor with the value 25: The variable number becomes: 21

Ceil: Round fractions up to their integer equivalent. The variable number becomes: 6

Divide: Divides 2 values together and returns the answer. In this example, the filter changes the integer 25 to 5.

Floor: Round fractions down to their integer equivalent. In this example, the filter changes the decimal 7.3 to 7.

Modulus: Modulus 2 values together and return the answer The modulus (or "modulo" or "mod") is the remainder after dividing one number by another. In this example, the filter changes the decimal 25 to 12.

Multiply: Multiplies 2 values together and returns the answer. In this example, the filter changes the integer 25 to 250.

Round: Round fractions their integer equivalent. In this example, the filter changes the decimal from 6.8 to 7.

Subtract: Subtracts 2 values together and returns the answer. In this example, the filter changes the integer 15 to 10.

## Special Array math filters

Max: Returns the max of the values of the array. In this example, the variable array is [ 1, 2, 3, 4, 5]. In this example, the variable Array_max becomes 5.

Min: Returns the min of the values of the array. In this example, the variable array is [ 1, 2, 3, 4, 5]. In this example, the variable Array_min becomes 1.

Product: Returns the product of the values of the array. In this example, the variable array is [ 1, 2, 3, 4, 5]. In this example, the variable product becomes 120.

## ​

Sum: Returns the sum of the values of the array. In this example, the variable array is [ 1, 2, 3, 4, 5]. In this example, the variable product becomes 15.