Fact-checked by Grok 2 weeks ago

Two-out-of-five code

The two-out-of-five code is a nonlinear constant-weight code consisting of the 10 codewords of length 5 and weight 2 (exactly two 1s per codeword), providing a unique encoding for the digits through 9. This encoding scheme was employed in early systems for efficient and basic error detection, as it allows verification that each digit maintains precisely two set bits, flagging deviations such as single-bit flips or unidirectional errors that alter the weight. In the 7070 system, introduced in , the code served as the internal representation for digits in magnetic-core , arithmetic operations, and devices like punched cards and , where it supported fixed-count checking to ensure during transfers. The specific bit patterns for digits in the 7070, for example, assigned 11000 to , 00110 to 6 (also used for the minus sign), and 10001 to 3 (also for the alpha sign), enabling compact of 10-digit words with a while minimizing errors in mechanical and electronic components. Beyond computing hardware, the two-out-of-five code found prominent use in symbologies for its simplicity and readability. In the United States Postal Service's POSTNET (Postal Numeric Encoding Technique) system, each digit is represented by five bars where exactly two are full-height (corresponding to 1s) and three are half-height (0s), facilitating automated from the until its phase-out in favor of Intelligent Mail barcodes. Similarly, the (Postal Alpha Numeric Encoding Technique) barcode adopted the same encoding for tracking outbound mail, while the numeric portions of barcodes—widely used in and since the —map digit values to pairs of wide bars among five positions using this scheme. These applications highlight the code's enduring value in error-detecting, machine-readable formats requiring exactly 10 distinct symbols.

Overview

Definition

The two-out-of-five code is a nonlinear binary constant-weight code of length 5, in which each valid codeword contains exactly two 1's and three 0's, thereby encoding information through the positions of the 1's. This structure yields precisely 10 distinct codewords, as the number of ways to choose 2 positions out of 5 for the 1's is given by the binomial coefficient \binom{5}{2} = 10. The fixed Hamming weight of 2 makes the code particularly suitable for representing the 10 decimal digits (0-9) in applications requiring reliable digit encoding. In contrast to variable-weight codes, where the number of 1's can differ across codewords, the two-out-of-five code's constant weight enables inherent error detection by verifying that incoming words maintain exactly two 1's; any deviation signals a potential error. This property also simplifies hardware implementation, as the weight check can be performed efficiently with basic circuits, such as adders or counters to tally the 1's. A generic example of a codeword in this scheme is 11000, where the two 1's occupy the first and second bit positions, with the remaining bits set to 0; the exact mapping of such patterns to specific digits depends on the implementation context.

Encoding Principles

The two-out-of-five code encodes each decimal digit from 0 to 9 as a 5-bit binary codeword containing exactly two 1's and three 0's, yielding precisely ten unique combinations to match the decimal digits. This constant-weight structure ensures a fixed Hamming weight of 2 for every valid codeword, facilitating reliable representation in binary systems. The generic encoding process selects two distinct positions out of the five bits to place the 1's, with each digit mapped to a unique pair of positions to avoid ambiguity during decoding. To enable efficient decoding, particularly in hardware or transmission contexts, bit positions are often assigned positional weights, such as powers of 2 or custom values, where the digit value corresponds to the sum of the weights in the positions set to 1. This weighted approach transforms the combinatorial selection into a numerical summation, allowing decoders to compute the digit directly from the codeword. For instance, in a scheme with weights w_1 = 0, w_2 = 1, w_3 = 2, w_4 = 3, w_5 = 6 (assigned from left to right), the digit value is calculated as the sum of the weights of the 1-bit positions, providing unique sums for most digits. The digit 0 presents a special case, as no combination of two positive weights sums to zero, and an all-zero codeword would violate the two-1's rule. Thus, 0 is assigned a predefined pattern that does not conform to the summation rule, such as 01100 (positions 2 and 3 set to 1), which is reserved exclusively for zero despite potentially summing to 3 under the weighting scheme. This exception ensures all digits have distinct representations while maintaining the constant-weight property.

Variants

Telecommunication Variant

The telecommunication variant of the two-out-of-five code assigns weights of , 1, 2, 3, and 6 to the five bit positions, typically from left to right, to encode s 0 through 9 using exactly two 1s per codeword. This weighting scheme provides a for each from 1 to 9 corresponding to the positions of the 1s, while 0 uses a codeword that would otherwise correspond to 3 (shared with one representation of 3, but reassigned for zero). Designed for punched cards and early data transmission in telecommunication systems during the 1940s, this variant prioritized readability and single-error detection in noisy channels, as employed by for reliable digit representation. Its constant weight of two 1s facilitated mechanical implementation, such as activating exactly two relays per digit in electromechanical setups, enabling straightforward detection and reducing wiring complexity in teletype and telegraph equipment. The full encoding table for digits 0-9 is as follows, with binary representations read left to right (MSB to LSB) and identifiers based on the weights:
DigitBinary Code1s Positions (Weights)Identifier
0011002nd (1), 3rd (2)3
1110001st (0), 2nd (1)1
2101001st (0), 3rd (2)2
3100101st (0), 4th (3)3
4010102nd (1), 4th (3)4
5001103rd (2), 4th (3)5
6100011st (0), 5th (6)6
7010012nd (1), 5th (6)7
8001013rd (2), 5th (6)8
9000114th (3), 5th (6)9
This table ensures all combinations are distinct and self-checking, with the alternative 01100 representation for 3 reassigned to 0 to complete the set.

POSTNET Variant

The POSTNET (Postal Numeric Encoding Technique) variant of the two-out-of-five code was developed by the (USPS) for encoding numeric information in barcodes on mail pieces to facilitate automated sorting. This adaptation uses a binary representation where each digit from 0 to 9 is encoded into a five-bar pattern consisting of exactly two tall bars (representing 1s) and three short bars (representing 0s), ensuring the constant weight property of the code. Unlike binary transmission variants, the POSTNET encoding is visualized vertically, with tall bars at full height (approximately 0.125 inches) and short bars at half height (approximately 0.050 inches), all with a uniform width of about 0.020 inches. The encoding assigns weights of 7, 4, 2, 1, and 0 to bar positions from left to right, allowing the positions of the two tall bars to represent values from 0 to 9 through the sum of their weights (with digit 0 using a special combination summing to 11). This weighted scheme ensures each has a unique pattern, and a is appended to make the total sum of all digits a multiple of 10 for error detection. The full encoding table for digits 0–9 is as follows, where 1 indicates a tall and 0 a short :
DigitPattern
011000
100011
200101
300110
401001
501010
601100
710001
810010
910100
In POSTNET and the related (Postal Alpha Numeric Encoding Technique) barcodes, the visual mapping emphasizes readability for optical , with the two tall bars per providing the necessary and the three short bars maintaining spacing. Additionally, each includes full-height frame bars at the start and end—separate from the codewords—for and to delineate the encoded data, typically resulting in 32 bars for a 5-digit , 52 bars for ZIP+4, or 62 bars for a code including the . This structure supports high-speed processing in postal automation systems.

IBM 707x Variant

The 707x variant of the two-out-of-five code was utilized in the 7070, 7072, and 7074 mainframe computers for internal data representation in core storage. Each word comprised 10 decimal digits plus a sign, with every digit encoded across five bit positions designated by weights 0, 1, 2, 3, and 4—corresponding to places from least significant bit (weight 0) to most significant (weight 4). This constant-weight scheme set exactly to 1 per digit, enabling basic error detection by verifying the bit count during operations, which was advantageous given the era's core memory costs and reliability needs. The encoding prioritized density, packing 55 bits per word (50 for digits + 5 for sign handling, though sign used three bits). The specific bit patterns for digits 0–9 in this variant followed a systematic of the 10 possible two-1 combinations across the five positions, adapted for efficient numeric distinct from external input formats. For example:
DigitBinary (MSB to LSB: 4-3-2-1-0)Positions On (Weights)
0000110, 1
1001010, 2
2001101, 2
3010010, 3
4010101, 3
5011002, 3
6100010, 4
7100101, 4
8101002, 4
9110003, 4
This mapping ensured unambiguous decoding and was optimized for the machines' decimal arithmetic, differing from variants like the telecommunication code by its bit position numbering and internal focus. Sign handling employed a dedicated two-out-of-three in the word's sign field, using three bits with exactly two set to 1 to represent three states: (−), or alphanumeric (A). For instance, the plus sign might activate bits corresponding to positions A and B, minus A and C, and alphanumeric B and C (exact bit labels varied by documentation but followed the constant-weight principle). This allowed seamless switching between numeric and alphabetic modes without dedicating full five bits. In punched card integration, the IBM 7500 Card Reader translated standard Hollerith numeric punches—single holes in rows 0–9 per column—into these internal encodings, while signs were indicated by an 11-punch (minus) or 12-punch () overlaid on the units digit column, facilitating direct numeric data processing in formats like . Invalid encodings triggered reader stops or validity checks via fixed-count verification.

Code 39 Variant

The Code 39 variant of the two-out-of-five code is integrated into the barcode symbology, a discrete, self-checking alphanumeric standard developed by in 1974 and later standardized under ANSI MH10.8M-1983. This variant specifically supports the numeric subset for digits 0-9 by encoding two wide bars out of five bar positions, enabling 10 unique combinations suitable for decimal representation within the broader 43-character set of Code 39, which includes uppercase letters and special symbols. In this encoding, the five bar positions are assigned equivalence values of 1, 2, 4, 7, and 0 from left to right, with the final position functioning as a to enhance error detection. The positions of the two wide bars are selected to correspond to unique identifiers from 1 to 10 (with 10 representing digit 0) based on the equivalence values of the positions. The overall character structure in consists of nine elements—five bars and four intervening spaces—with exactly three wide elements total: two among the bars (via the two-out-of-five logic) and one among the spaces to convey additional information bits. Code 39 barcodes are framed by start and stop characters represented by the asterisk (*), which feature a distinctive asymmetric (narrow, narrow, wide, wide, narrow for the bars) not derived from the two-out-of-five numeric encoding. This ensures proper scan initiation, termination, and directionality without being interpreted as .

Properties

Error Detection Capabilities

The two-out-of-five code utilizes a constant of two in each five-bit codeword, which facilitates detection by verifying that the received word maintains exactly two ones. A single-bit , such as flipping a zero to one or a one to zero, inevitably alters this weight to either one or three ones, allowing the error to be detected through a simple check on the number of ones. This mechanism ensures that all single-bit errors are reliably identified without requiring additional parity bits. The code also excels in detecting unidirectional errors, where all bit flips occur in the same direction (either all from zero to one or all from one to zero). Any number of such errors will change the weight from two—for instance, one or more zeros flipping to ones results in a weight of three or higher, or one or more ones flipping to zeros results in a weight of one or zero—making all unidirectional errors detectable via the weight check. Double-bit errors are not guaranteed to be detected, as certain combinations can preserve the weight of two but map to another valid codeword (e.g., one zero-to-one and one one-to-zero flip might keep the weight but result in a different decimal digit). Other double errors alter the weight (e.g., two zero-to-one flips result in weight four), making them detectable. Since all possible weight-two words are valid codewords, any weight-preserving double error shifts to another valid codeword and is thus undetectable, while weight-changing ones are detected. Compared to traditional even or odd schemes, which add an extra bit to detect only an odd number of errors in , the two-out-of-five code provides more efficient error detection for encoding within a fixed five-bit structure. It inherently checks for exact weight compliance without extra overhead, offering stronger protection against single errors and all unidirectional errors in applications like digit representation.

Hamming Distance and Weight

The two-out-of-five code is a constant-weight code in which every codeword has a of exactly 2, meaning each 5-bit codeword contains precisely two 1s and three s. This fixed weight property ensures that the 10 codewords, corresponding to the digits 0 through 9, are selected from the \binom{5}{2} = 10 possible combinations of positions for the two 1s. The minimum of the code is 2, as any two distinct codewords differ in at least two bit positions. This arises because distinct codewords share at most one position with a 1; if they shared both, they would be identical. For two codewords with supports (positions of 1s) A and B, the Hamming distance d is given by
d = 2 \times (2 - |A \cap B|) ,
where |A \cap B| is the size of the of their supports. The minimum occurs when |A \cap B| = 1, yielding d = 2; if |A \cap B| = 0, then d = 4.
These properties imply that the code can detect up to 1 but correct 0 errors, consistent with the general for binary codes where the error detection capability is d - 1 and correction capability is \lfloor (d - 1)/2 \rfloor. For constant-weight codes like this one, the further confirms the minimum distance aligns with the code's parameters, as d \leq n - \log_2 M + 1 (here n=5, M=10, yielding d \leq 2), and the achieved d=2 satisfies this limit while enabling single- detection.

History and Development

Origins in Computing

The two-out-of-five code has roots in the 1940s, used in relay-based computers for decimal digit representation with built-in error detection via constant weight. It emerged more prominently in the mid-1950s as an efficient method for numeric encoding in early computing systems reliant on punched card input and magnetic storage, allowing decimal digits 0-9 to be represented compactly with exactly two 1s among five bits for inherent error detection via fixed weight. This approach addressed the need for reliable data processing in electromechanical and early electronic computers, where punched cards served as the primary medium for program and data entry, minimizing errors from mechanical reading. IBM played a pivotal role in its adoption, integrating the code into its decimal-oriented machines to optimize storage and arithmetic operations. The Magnetic Drum Calculator and Data Processing Machine, announced in 1953 and first shipped in 1954, employed two-out-of-five encoding in its general storage drum for decimal digit representation, using conversion matrices to interface with bi-quinary buffers and arithmetic units. By the late 1950s, the code was refined for transistor-based systems like the , announced in 1958, which used it internally for digit encoding in core memory and efficient integration.

Adoption in Postal and Barcode Systems

In the 1960s and 1970s, the (USPS) began adapting optical scanning technologies for , drawing on encoding schemes like the two-out-of-five code to enable automated reading. This effort culminated in the development of the Postal Numeric Encoding Technique (POSTNET), a symbology introduced in 1982 that utilized a variant of the two-out-of-five code, where each digit is represented by five bars with exactly two tall (full-height) bars encoding the "1" bits and three short (half-height) bars for "0" bits. By the late , POSTNET had become standard in major USPS processing centers, significantly improving mail throughput and accuracy in systems. During the 1970s, the two-out-of-five code was integrated into early symbologies for industrial and logistical applications, notably in the development of by David Allais at Corporation in 1972, which paired digits into a continuous high-density numeric format using wide and narrow bars and spaces to represent the encoding. Similarly, , also invented by Allais around 1974, incorporated a two-out-of-five weighting scheme for its numeric portions within a discrete alphanumeric structure, allowing for broader character sets while maintaining error detection via the inherent code properties. These adaptations facilitated compact encoding for inventory and shipping labels, paving the way for widespread adoption in scanning technologies. Standardization efforts in the 1980s formalized the use of two-out-of-five variants in systems through ANSI MH10.8M-1983, the first national technical standard covering symbologies like and , ensuring in automated data capture. For postal applications, POSTNET was integrated into the Facing Identification Mark (FIM) patterns in the 1990s, where FIM A through FIM E used similar bar configurations to signal mail type and during cancellation and , enhancing for reply and . International alignment followed with ISO/IEC 15417 in the late 1990s for linear barcodes, including those based on two-out-of-five principles. By the , POSTNET and related two-out-of-five-based systems began phasing out in favor of the (IMb), a 4-state symbology introduced in that combined routing and tracking data for greater functionality; mandatory use for automation discounts took effect in 2013, though legacy support persisted for certain low-volume applications until full discontinuation. Despite this shift, elements of two-out-of-five encoding remain in some legacy barcode readers and international postal variants for .

Applications

In Barcodes and Postal Codes

The two-out-of-five code found prominent application in postal barcoding systems, particularly through the United States Postal Service's (USPS) POSTNET and PLANET symbologies, which encoded ZIP codes on envelopes for automated scanning and routing from the 1980s until their phase-out in 2013 in favor of the Intelligent Mail Barcode (IMb). POSTNET represented each digit using a five-bar pattern where exactly two bars were full-height, enabling the encoding of 5-digit ZIP codes (32 bars total), 9-digit ZIP+4 codes (52 bars), or 11-digit delivery point codes (62 bars) to facilitate precise mail sorting at high speeds. PLANET, an evolution for tracking outbound mail, employed a similar five-bar structure but inverted the convention, with two short bars indicating the "on" bits, supporting 12- or 14-digit codes including check digits for enhanced confirmation of delivery. These variants allowed optical scanners to read variable printing conditions on envelopes, routing billions of pieces annually with minimal manual intervention. In and , the symbology adapts the two-out-of-five principle to encode pairs of numeric into compact units, where each is represented by five elements (bars or spaces) with exactly two wide ones. This interleaving—bars for the first digit and spaces for the second—supports even-length numeric strings, making it ideal for labeling cartons, shelves, and in logistics chains. The structure enables high-density encoding without check digits in basic forms, though optional modulo-10 checks can be added for verification during scanning. For in , the numeric subset of leverages two-out-of-five patterns to encode digits 0-9 within its alphanumeric framework, using five bars per character where two wide bars positionally represent values via weights 1-2-4-7-0. This allows seamless integration of numbers alongside uppercase letters and symbols for variable-length labels on parts, shipments, and containers in supply chains. The self-checking nature of the code, inherent to its constant-weight design, ensures reliable decoding even when printed on irregular surfaces. The use of wide and narrow bars in these two-out-of-five-based symbologies provides scanning advantages by creating distinct, high-contrast patterns that tolerate variations in print quality, ink spread, or surface irregularities, thereby reducing misreads during high-volume automated processing. This robustness supports low error rates in postal and inventory environments, prioritizing speed and accuracy over exhaustive data capacity.

In Early Computing Systems

The IBM 707x series computers, including the models 7070, 7072, and 7074 introduced in the late 1950s, employed the two-out-of-five code as their primary internal representation for decimal digits in machine words, enabling efficient business data processing tasks. Each of the ten decimal digits (0-9) was encoded using a five-bit field with exactly two bits set to 1, providing inherent error detection by halting operations on invalid combinations during data validation. This encoding supported up to ten digits per word plus a sign bit, optimizing core memory usage in an era when storage costs were high compared to earlier bi-quinary systems like those in the IBM 650. In the 707x systems, card readers such as the IBM 7500 processed punched cards by translating input data into two-out-of-five code for numeric fields, facilitating rapid batch input for and applications. The 7500 reader supported front-attended tray feeding with speeds up to 500 cards per minute, checking for valid two-out-of-five combinations during transmission to core storage and rejecting cards with double punches or blanks in critical columns like 80. Similarly, the IBM 7550 card punch output data from core storage back to cards, ensuring exactly two bits per digit in the encoded format to maintain across input-output cycles. Punched card formats for the 707x extended the standard Hollerith scheme, where numeric digits were mapped to upon reading, particularly for digits 1-9 represented by two punches whose positions summed to the digit value (e.g., 0 as 1-2 combination). This translation occurred via control-panel wiring and synchronizers, allowing up to 16 words per card (ten numeric digits or five alphabetic characters) while supporting type 1 cards with 12/X sign punches and type 2 cards with X punches only. The approach ensured compatibility with existing unit-record equipment while leveraging the error-detecting properties of for reliable decimal batch operations. The two-out-of-five code also featured in transmission for the 707x series, where channels over 53 lines moved blocks of encoded at 6 microseconds per word to peripherals like drives and early communication interfaces for decimal . In operations with 729 models, internal two-out-of-five was converted to seven-track BCD for recording, but validity checks preserved the code's structure during read/write to detect transmission errors in high-volume business workflows. Early modems and inquiry stations, such as the 7900, similarly translated operator inputs into two-out-of-five for transfer to , supporting remote decimal with built-in error halting. The adoption of two-out-of-five in the 707x series contributed to the legacy of reliable decimal arithmetic in IBM's lineage, influencing numeric handling during the migration to the System/360 architecture in the mid-1960s, where implementations emphasized packed decimal formats to accommodate similar business processing needs from predecessor machines. This transition preserved the focus on error-resistant decimal codes for enterprise applications, bridging vacuum-tube and transistor eras.

Other Uses

The two-out-of-five code found application in electromechanical systems for encoding and decoding dialed digits during . In register-translator , incoming digits from 1-out-of-10 counters were converted to the 2-out-of-5 format for storage and parallel transmission between registers, enabling reliable digit handling in trunk call setups with inherent checking to detect single-bit errors. This approach simplified interworking with electromechanical switches by providing self-checking , where each digit used exactly two active signals out of five possible lines. In subscribers' metering systems, the code encoded four-digit line numbers derived from meter pulses, storing them temporarily in magnetic core matrices before transfer to magnetic tape for billing records. The translator circuit generated the 2-out-of-5 representation to ensure accurate pulse counting and data integrity in electronic replacements for mechanical meters. During the 1960s, the two-out-of-five fixed count code was utilized in industrial data processing for punched tape applications in manufacturing controls. This encoding, with five positions representing decimal digits via exactly two punched holes, supported error detection in serial data storage and transmission for process automation systems.

References

  1. [1]
    Two-in-five code - Error Correction Zoo
    A nonlinear binary code consisting of the 10 weight-two five-bit strings, thereby providing an encoding for the decimal digits 0 through 9.
  2. [2]
    [PDF] IBM 7070 Data Processing System - Bitsavers.org
    ... TWO-OUT-OF-FIVE FIXED-COUNT CODE. IBM 7604 TAPE CONTROL: Data to be written on tape is brought from core storage to this unit and thence to the tape unit.
  3. [3]
    PostNet
    The table below presents a breakdown of the encoding scheme for PostNet. Please note that 1 s represent full bars, and 0 s represent half bars. Digit, PostNet ...
  4. [4]
    [PDF] Digital Logic Circuit Analysis and Design
    ... error detection and correction mechanisms. •Digital systems lend themselves ... Two-out-of-Five Code. The two-out-of-five code is an error detection ...
  5. [5]
    [PDF] Ex.-1008-Federal-Standard-1037C-2.pdf - Dr. Tal Lavian
    Aug 7, 1996 · Federal Standard 1037C is a glossary of telecommunication terms, providing definitions for US and international specialists, covering various ...
  6. [6]
    [PDF] Binary Codes
    A two-out-of-five code can have the number of 1's = 2. Decimal 01247. 0. 00011. 1. 11000. 2. 10100. 3. 01100. 4. 10010. 5. 01010. 6. 00110. 7. 10001. 8. 01001.
  7. [7]
    [PDF] Hamming code - Wikipedia, the free encyclopedia
    Oct 24, 2006 · In the 1940s Bell used a slightly more sophisticated code known as the two-out-of-five code. This code ensured that every block of five bits ( ...
  8. [8]
    [PDF] 204 Barcode Standards - USPS
    1.2.1 General. POSTNET (Postal Numeric Encoding Technique) is the USPS-developed barcode method to encode ZIP Code information on mail that can be read for.
  9. [9]
    [PDF] Information Theory and Coding: An Introduction
    Notice that if one assigns weights 0, 1, 2, 3, 6 to the five positions, the ... A two-out-of-five code with weights 7, 4, 2, 1, 0 is used. 0 is represented.
  10. [10]
    Optimal error-detecting and error-correcting code and apparatus
    The underlying methodology of today's popular bar codes (UPC and Code 39 ... digit 0 (each as described above). The actual BCB bar code symbol for this ...
  11. [11]
    Code-39 - Barcode Label Guru
    The two wide bars, out of five possible positions, encode a number between 1 and 10 using a two-out-of-five code with the following numeric equivalence: 1, 2, ...
  12. [12]
    CODE 39 and Codabar | Basics of Barcodes - Keyence
    CODE 39 is named for its pattern of bars and spaces, with 3 out of 9 bars and spaces being wide. The basic composition is as follows: ・One letter (character) ...
  13. [13]
    [PDF] Solutions to Assignment 2
    The “two-out-of-five” code consists of all possible binary words of length 5 containing exactly two 1's. (a) List all of the code words. (b) What is the minimum ...
  14. [14]
    [PDF] 650 data-processing system, 1957
    The two-out- of-seven, bi-quinary, system is used for Read Buffer. Storage (RBS) and Punch Buffer Storage (PBS) and the arithmetic units. The two-out-of-five ...
  15. [15]
    [PDF] Introduction to IBM Data Processing Systems - Bitsavers.org
    Some computer codes in use are: seven-bit alpha- meric code, two-out-of-five fixed count code, bi-quinary, code, six-bit numeric code, and the binary system.<|control11|><|separator|>
  16. [16]
    IBM 7070 data processing system - ACM Digital Library
    Bit-Code Structure. Information is represented by a two-out-of-five code. The total number of possible combinations is 10, one for each numerical digit. As ...Missing: encoding | Show results with:encoding
  17. [17]
    The IBM punched card
    Data was assigned to the card by punching holes, each one representing a character, in each column. When writing a program, one card represented a line of code ...Missing: 7070 five
  18. [18]
    US2719959A - Parity check system - Google Patents
    Simple error detecting codes such as the two-out-of-five and three-out-of-seven codes used in control systems or radio telegraphy are examples of the use of ...
  19. [19]
    The Increasing Pace of Change: Innovation in the 21st Century
    Confirm service subscribers and ACS users were given the option of using the new barcode in 2006. It became optional for large-volume mailers in 2009, and by ...Missing: phase | Show results with:phase
  20. [20]
    The history and current status of barcode application in the U.S. ...
    POSTNET (Postal Numeric Encoding Technique) was the first successful barcode symbology introduced by the USPS in the early 1980s. It encoded ZIP Code data ...
  21. [21]
    [PDF] THE HISTORY OF AUTOMATIC IDENTIFICATION ID Systems
    The first machine-readable bar code was developed in 1949, the first OCR scanner in 1951, and the first portable wand scanner in 1971. The first retail bar  ...<|separator|>
  22. [22]
    History of Barcode Technology - A2B Tracking
    Apr 29, 2021 · Interleaved 2 of 5 code is developed by Dr. David Allais of Intermec for Computer Identics. 1973. A barcode based on IBM's test submission ...
  23. [23]
    The history of Facing Identification Mark barcode
    4.3 FIM D and FIM E: In the 1980s and 1990s, further refinements to the FIM barcode system led to the introduction of FIM D and FIM E. FIM D was used for ...
  24. [24]
    Intelligent Mail Barcode Service Talk - About USPS home
    Jan 28, 2010 · The Intelligent Mail barcode for letters and flats is an evolution of USPS ® barcode technology. Its design uses four different “states” of bars ...
  25. [25]
    POSTNET Barcode Discontinuation - Federal Register
    May 3, 2012 · Response: Since the POSTNET barcode is not capable of including information other than the routing code, we will not be including its use for ...Missing: phase out QR 2010s
  26. [26]
    204 Barcode Standards - Postal Explorer - USPS
    These 65 bars encode a string of 31 digits, divided into two parts: a 20-digit tracking code and an 11-digit routing code (when required).Missing: table | Show results with:table
  27. [27]
    USPS and 4 State Barcodes in LEADTOOLS
    ... two of five code. The major difference between POSTNET and PLANET is that in POSTNET full bars represent "on" bits, while in PLANET full bars represent "off ...
  28. [28]
  29. [29]
    Barcode Fonts with Business Central Online - Microsoft Learn
    Feb 25, 2022 · Business Central Online includes 1D fonts like Code39, and 2D fonts like Aztec, Data Matrix, and QR-Code. 2D fonts are available in version 19. ...
  30. [30]
    The IBM 7070 - Multics
    The front of the programmer's reference card lists the machine opcodes. The back lists the character set, the two-out-of-five code, and the special functions of ...
  31. [31]
    IBM 7070 - Computer History Wiki
    Apr 21, 2025 · Internally it used a two-out-of-five code, unlike the 650, which had used bi-quinary coding; with the higher per-bit cost of core memory, a ...
  32. [32]
    [PDF] Circuit Design of the Electronic Register-Translator
    The Electro-mechanical—. Electronic Junction ... Several forms of 2-out-of-5 code have been employed, ... some other telephone systems, equipment rarely oper-.
  33. [33]
  34. [34]
    [PDF] INDUSTRIAL DATA PROCESSING APPLICATIONS - Bitsavers.org
    Through the IDPA case studies, readers can see how other companies are developing new applications to take full advantage of their hardware capabilities.<|control11|><|separator|>