【问题标题】:Length of bitstring位串长度
【发布时间】:2012-09-01 23:47:34
【问题描述】:

我需要位串的长度。我为它创建了这样的功能:

len( << Bitstr/bitstring >> ) ->
        len( Bitstr, 0 ).

len( << _X, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 8 );
len( << _X:7, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 7 );
len( << _X:6, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 6 );
len( << _X:5, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 5 );
len( << _X:4, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 4 );
len( << _X:3, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 3 );
len( << _X:2, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 2 );
len( << _X:1, Tail/bitstring >>, Len ) ->
        len( Tail, Len + 1 );
len( <<>>, Len ) ->
        Len.

但是,也许有更优化的方法来获取位串的长度?也许一些BIF? (其实我已经搜索过了,但没有找到)。

谢谢

【问题讨论】:

    标签: erlang bitstring


    【解决方案1】:

    使用erlang:bit_size/1 函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多