The term arithmetic underflow or simply underflow has the following meanings.
In a digital computer, the condition that occurs when a calculation produces a result that is less than a given register or storage location can store or represent.
Underflow is analogous to overflow except it's not. The tower of a personal computer. ... In computer architecture, a processor register is a small amount of very fast computer memory used to speed the execution of computer programs by providing quick access to commonly used values—typically, the values being in the midst of a calculation at a given point in time. ... Storage is the at least semi-permanent holding of an amount of something. ...
For floating-point arithmetic, an underflow occurs when the magnitude of an intermediate result (i.e., before rounding) is strictly between the smallest normal floating-point number in the format and zero. As specified in IEEE 754 the underflow condition is only signalled if there is also a loss of accuracy. Typically this is determined as the final result being inexact. However if the user is trapping on underflow, this happens regardless of consideration for loss of precision. A floating-point number is a digital representation for a number in a certain subset of the rational numbers, and is often used to approximate an arbitrary real number on a computer. ... The IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754) is the most widely-used standard for floating-point computation, and is followed by many CPU and FPU implementations. ... Trap door spider A trap is a device intended to cause harm, capture, detect, or inconvenience an intruder. ...
Underflow occurs, roughly speaking, when the result of an arithmetic operation is so small that it cannot be stored in its intended destination format without suffering a rounding error that is larger than usual.
The presence of subnormal numbers in the arithmetic means that untrapped underflow (which implies loss of accuracy) cannot occur on addition or subtraction.
When subnormal numbers are added to the representable set and gradual underflow is implemented, the worst effect of one inexact or underflowed result is to introduce an error no greater than the distance to one of the representable neighbors of the computed result.
Arithmetic coding, is entropy coder widely used, the only problem is it's speed, but compression tends to be better than Huffman can achieve.
The idea behind arithmetic coding is to have a probability line, 0-1, and assign to every symbol a range in this line based on its probability, the higher the probability, the higher range which assigns to it.
The algorithm of arithmetic coding makes that if ever the msb of both high and low match are equal, then they'll never change, this is how can output the higher bits of the output infinite number, and continue working with just 16 bits.