bits()

阅读(1548) 标签: bits,

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

bits()

描述:

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

语法:

bits(xi,…)

备注:

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

当只有一个xi 参数且xi 是序列时,用x1 , x2 ,…xi  作为参数;

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

参数:

xi

整数或字符串。

选项:

@h

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

@d

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

@b

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

@s

需要与其它选项组合使用,返回构成该进制数值的字串。

@n

转为长整数。

@r

低位在前,高位在后。

返回值:

数值/字符串

示例:

  二进制转为十进制:

 

A

 

1

=bits(1,0,1,1)

11,选项缺省时将二进制转为十进制。

2

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

11,参数只有一个序列时,将序列成员作为参数,相当于bits(1,0,1,1)

3

=bits("1","0","1","1")

11,参数为字符串时,先转为整数,再按照二进制转为十进制。

4

=bits("1011")

11,参数只有一个字符串时,将其拆成单字符串组成的序列,相当于bits([1,0,1,1])

  十六进制转为十进制:

 

A

 

1

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

使用@h选项,将十六进制数A115转成十进制,返回结果为41237

  @d选项:

 

A

 

1

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

1015,参数为字符串时,先转为整数,再按照十进制计算结果

  @b选项:

 

A

 

1

=bits@b(true,false,true)

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

  低位在前,高位在后:

 

A

 

1

=bits@r(0XBB0D8196)

3138224534

  转为长整数:

 

A

 

1

=67546523567

 

2

=bits@n(67546523567)

返回long数据类型:

  使用@s选项:

 

A

 

1

=bits@sd(1212)

1212,获取构成1212的十进制字串。

2

=bits@sh(1212)

4bc,获取构成1212的十六进制字串。

 

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