Arithmetic coding, the way to find decimal representation of codeword

3 views (last 30 days)
seq = [3 3 1 3 3 3 3 3 2 3];
counts = [10 20 70];
code = arithenco(seq,counts)
By implementing this code, I can get arithmetic codeword in matrix
[1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 0]
it means that it is '0.100011000101101100' in binary.
I want to know average codelength to get code efficiency, so I must know convert the codeword into decimal and get length of it.
I can calculate it easily beacuse above example is not large, however I want to know how to calculate the length in large cases(my codeword in binary length is 5897909)

Answers (1)

Aghamarsh Varanasi
Aghamarsh Varanasi on 13 Nov 2020
Edited: Aghamarsh Varanasi on 13 Nov 2020
Hi,
You can get the length of the code word using 'size' function
lengthOfCodeWord = size(code,2);

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!