本章节介绍bits()函数的多种用法。
描述:
将其他进制数转换成十进制数。
语法:
bits(xi,…)
备注:
将其它进制数按照规则转换成十进制整数,xi表示进制数中从右到左第i位上的值,无选项时表示将二进制转换成十进制。
当只有一个xi参数且xi是序列时,用x(1),x(2),…x(i) 作为参数;
当只有一个xi参数且xi是字符串时,先将xi拆成单字符组成的序列,然后再进行进制转换。
xi是字符串时先按进制转成整数。
参数:
xi |
整数或字符串。 |
选项:
@h |
xi是字符串时,按十六进制数位规则转成十进制数。 |
@d |
xi是字符串时先转成整数,然后按照十进制数计算结果。 |
@b |
xi为true时转换为1,xi为false时转换为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数据类型: |
描述:
将位值序列转为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]。 |
描述:
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 。 |