## About Checkdigit

Multiply each number in the sequence of numbers by the value called **weight** from specified algorithm. Add the product of these numbers together give the **sum**, and divide it by the **modulus** from in the specified algorithm.

**DR checkdigit**… the remainder after the division.**DSR checkdigit**… subtract the DR checkdigit from modulus.

Sometimes errors can occur during the process of printing a barcode. Checkdigit is a control that catches these errors. That is, when the sequence of numbers written in the barcode doesn't match with the checkdigit we had read, the computer refuses the sequence of numbers to input.

Some barcode types can have several checkdigit algorithms applied to it. Following is a brief list of barcode types that require and do not require checkdigit.

**Barcode types and checkdigit:**

- checkdigit required: UPC/EAN/JAN, CODE-93, CODE-128, etc.
- checkdigit not always required: CODE-39, NW-7, ITF, etc.

Certain data indicates that addition of checkdigit can decrease the error ratio to under 1/1000.

Using the information above, an examination of the popular checkdigit algorithm will be conducted. We will take the frequently employed JAN(EAN) barcode (Modulus 10, Weight 3:1) to illustrate this example.

Multiply each number in the sequence of numbers by the value called weight from specified algorithm. Add the product of these numberstogether give the sum, and divide it by the modulus from in the specified algorithm.
**DR checkdigit**… the remainder after the division.**DSR checkdigit**… subtract the DR checkdigit from modulus.
Sometimes errors can occur during the process of printing a barcode. Some barcode types can have several checkdigit algorithms applied to it.
- checkdigit required:
UPC/EAN/JAN, CODE-93, CODE-128, etc. - checkdigit not always required: CODE-39, NW-7, ITF, etc.
Certain data indicates that addition of checkdigit can decrease the error Using the information above, an examination of the popular checkdigit algorithm
By dividing directly the sequence of numbers with the modulus, then - the
**remainder**is the checkdigit of the type**7DR**and**9DR**; or **(modulus – remainder)**is the type**7DSR**and**9DSR**.
The above example only illustrates a couple of checkdigit possibilities and |

By dividing directly the sequence of numbers with the modulus, then

- the
**remainder**is the checkdigit of the type**7DR**and**9DR**; or **(modulus – remainder)**is the type**7DSR**and**9DSR**.

The above example only illustrates a couple of checkdigit possibilities and no where near covers all of the checkdigit algorithms in use.