bits()

阅读(1081) 标签: bits,

本章节介绍bits()函数的多种用法。

bits()

描述:

将其他进制数转换成十进制数。

语法:

bits(xi,…)

备注:

将其它进制数按照规则转换成十进制整数,xi表示进制数中从右到左第i位上的值,无选项时表示将二进制转换成十进制。

当只有一个xi参数且xi是序列时,用x(1),x(2),…x(i) 作为参数;

当只有一个xi参数且xi是字符串时,先将xi拆成单字符组成的序列,然后再进行进制转换。

xi是字符串时先按进制转成整数。

参数:

xi

整数或字符串。

选项:

@h

xi是字符串时,按十六进制数位规则转成十进制数。

@d

xi是字符串时先转成整数,然后按照十进制数计算结果。

@b

xitrue时转换为1xifalse时转换为0,然后按照二进制规则转换成十进制数。

@s

表示不转换成十进制,需要与其它选项配合使用,直接返回构成该进制数值的字串。

@n

返回成长整数。

@r

低位在前,高位在后。

返回值:

数值/字符串

示例:

 

A

 

1

[1,0,1,1]

 

2

=bits(A1)

11,将二进制数1011转成十进制。

3

=bits("1011")

11,单字串时拆分成序列,相当于=bits("1","0","1","1")

4

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

1115,将1115转成十进制。

5

=bits@b(true,false,true)

5,表示将二进制101转成十进制。

6

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

13,表示将二进制1101转成十进制。

7

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

41237,将十六进制数A115转成十进制。

8

=bits@r(0XBB0D8196)

3138224534,低位在前。

9

=bits@sd(12)

12,返回十进制的数。

10

=bits@sh(1212)

4bc,返回十六进制的数。

11

=bits@n(67546523567)

返回long数据类型:

A.bits ()

描述:

将位值序列转为long数值型序列。

语法:

A.bits()

备注:

将二进制数据组成的位值序列A转为long型数值序列。A中每64个成员转成一个long型数值成员。

参数:

A

二进制数据组成的位值序列。

选项:

@b

A的成员为boolean类型的成员时,true时转换为1 false时转换为0

返回值:

序列

示例:

 

A

 

1

=192.(rand(2))

随机生成一个二进制数据组成的位值序列。

2

=A1.bits()

A1转为long型数值序列,例如:

3

=[1,0,1,1].bits()

返回结果:[-5764607523034234880]

4

=[true,false,true,true].bits@b()

返回结果:[-5764607523034234880]

 

 

B.bits(n)

描述:

A.bits()函数的逆运算,取出第n位的位值。

语法:

B.bits(n)

备注:

A.bits()函数的逆运算,取出第n位的位值。

参数:

B

A.bits()返回值。

n

整数,表示第n位。

选项:

@b

判断B的第n位的位值是否为1,为1时返回true,为0时返回false

返回值:

0/1/Boolean

示例:

 

A

 

1

=192.(rand(2))

随机生成一个二进制数据组成的位值序列。

2

=A1.bits()

A1转为long型数值序列,例如:

3

=A2.bits(61)

返回结果:1

4

=A2.bits@b(61)

判断A2序列成员中的第61位是否为1,返回结果:true

5

=192.(A2.bits(~))

返回结果同A1