本章节介绍bits()函数的多种用法
描述:
将其他进制数转换成十进制数
语法:
bits(xi,…)
备注:
将其它进制数按照规则转换成十进制整数,xi表示进制数中从右到左第i位上的值,无选项时表示将二进制转换成十进制。
当只有一个xi参数且xi是字符串时,先将xi拆成单字符组成的序列,然后再进行进制转换。
xi是字符串时先按进制转成整数。
参数:
xi |
整数或字符串 |
选项:
@h |
xi是字符串时,按十六进制数位规则转成十进制数 |
@d |
xi是字符串时先转成整数,然后按照十进制数计算结果 |
@n |
xi为true时转换为1,xi为false时转换为0,然后按照二进制规则转换成十进制数 |
@s |
表示不转换成十进制,需要与其它选项配合使用,直接返回构成该进制数值的字串 |
@b |
返回成长整数 |
@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@n(true,false,true) |
5,表示将二进制101转成十进制 |
6 |
=bits@n(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@b(67546523567) |
返回long数据类型 |
描述:
将位值序列转为long型数值序列
语法:
A.bits()
备注:
将二进制数据组成的位值序列A转为long型数值序列。A中每64个成员转成一个long型数值成员。
参数:
A |
二进制数据组成的位值序列,高位在序列前面 |
选项:
@m |
并行计算 |
@n |
当A的成员为boolean类型的成员时,true时转换为1, false时转换为0 |
返回值:
成员为Long型数值的序列
示例:
|
A |
|
1 |
=192.(rand(2)) |
随机生成一个二进制数据组成的位值序列 |
2 |
=A1.bits() |
将A1转为long型数值序列,例如: |
3 |
=[1,0,1,1].bits() |
返回结果:[-5764607523034234880] |
4 |
=[true,false,true,true].bits@n() |
返回结果:[-5764607523034234880] |
描述:
判断long型数值序列中指定位是否为1
语法:
A.bits(n)
备注:
取出long型数值序列A中成员的的第n位,判断是否为1。
参数:
A |
Long型数值组成的序列 |
n |
整数,表示第n位 |
返回值:
Boolean
示例:
|
A |
|
1 |
=192.(rand(2)) |
随机生成一个二进制数据组成的位值序列 |
2 |
=A1.bits() |
将A1转为long型数值序列,例如: |
3 |
=A2.bits(61) |
判断A3序列成员中的第61位是否为1,返回结果:true |