# Static Arithmetic Encoding/Adaptive Arithmetic Encoding Algorithm

I'm trying to learn how to implement the Arithmetic Encoder algorithm for one of my classes. The thing is the notes we have explaining the actual algorithm are a bit on the confusing side. I have been looking up tutorials and videos about the algorithm and found some on youtube. I was wondering if anyone could tell me the difference between Infinite Precision Arithmetic Encoding and Finite Precision Arithmetic Encoding as shown in these videos..

Finite Precision Video

Infinite Precision Video

From what I can gather, Static Arithmetic encoding uses predefined probabilities for each character in the input. Meaning that it needs to know what symbols are going to be in the input and their probabilities.

Adaptive has a predefined set of characters that can come up and assigns equal probabilities to all of these characters until a character is read and then raises the probability of this character, and so on.

Do the videos above correspond to my interpretations of the algorithm? I'm a bit wary as he doesn't mention static or adaptive anywhere in the videos.

Thanks, Aimee

-
Just from watching a few minutes of the infinite precision video, it is stated at the outset that it is only theoretical. So the difference is -- one is for conceptual purposes and cannot be programmed, the other is not, but has complications due to finite precision arithmetic. Static and adaptive are different concepts, nothing to do with finite versus infinite precision in this context. – adam W Apr 7 '13 at 17:39