bits()

Read(1154) Label: decimal, numeric,

Description:

Convert a number represented by a certain numeral system to a decimal number.

Syntax:

bits(xi,…)

Note:

The function converts a number of a certain numeral system to a decimal integer according to a specific rule. Parameter xi represents the value in the ith position of the number counted from right to left. When no option is present the function converts a binary number to a decimal number.

 

When there is only one parameter xi and xi is a sequence, write the parameter in the form of x(1),x(2),…x(i).

 

If there is only a single xi and it is a string, split it into a sequence of single characters first, and then perform the conversion.

 

First convert xi to an integer according to the rules of a certain numeral system if it is a string.

Parameter:

xi

An integer/string.

Option:

@h

Convert xi to integer decimal number according to the rules of hexadecimal numeral system if it is the string.

@d

First convert xi to an integer if it is the string and then calculate according to the rules of decimal numeral system.

@b

Convert to 0 if parameter xi is false and to 1 if the parameter is true, and then convert them to a decimal number according to the rules of binary system.

@s

Won’t convert to a decimal number and should work with another option to return the string forming the number of the corresponding numeral system.

@n

Enable returning a long integer.

@r

Enable putting lower bits before higher bits.

Return value:

Numeric value/string

Example:

 

A

 

1

[1,0,1,1]

 

2

=bits(A1)

11; convert binary number 1011 to a decimal number.

3

=bits("1011")

11; split the single string into a sequence. It is equal to =bits("1","0","1","1").

4

=bits@d(1,1,1,5)

1115; convert 1115 to a decimal number.

5

=bits@b(true,false,true)

5; convert binary number 101 to a decimal number.

6

=bits@b(1,1,0,1)

13; convert binary number 1101 to a decimal number.

7

=bits@h("A",1,1,5)

41237; convert hexadecimal number A115 to a decimal number.

8

=bits@r(0XBB0D8196)

3138224534; the low-order b its go first.

9

=bits@sd(12)

12; return a decimal number.

10

=bits@sh(1212)

4bc; return a hexadecimal number.

11

=bits@n(67546523567)

Return result as a long integer.