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