Tool for decoding/encoding numbers via the Stibitz code also called Excess-3, a binary digital system similar to the BCD code, used by old processors coding each digit on 4 bits.
Excess-3 Code (Stibitz) - dCode
Tag(s) : Character Encoding
dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!
The code Excess-3 (also called Stibitz code and sometimes shortcut XS3 or XS-3) is a 4-bit binary decimal code (like the BCD) created to optimize some calculations in base 10 on older processors.
The representation of a number in Excess-3 code is said to be biased because it has an offset of 3 (hence the 3 of XS-3) with the expected values and used by the conventional BCD code.
Example: 0 is coded 0011 in XS-3 whereas 0011 is 3 in BCD code.
The use of this offset allows a quick calculation trick for the complement to 9 (decimal) by inverting the bits, which is a big time saver for the calculation of subtractions by the processors.
Example: The digit 0 is coded 0011 in XS3 and its binary complement (inverting the 1's and 0's) is 1100 which corresponds to 9 in XS3.
The Decimal to Excess-3 conversion table/equivalence:
Digit | Code XS-3 |
---|---|
0 | 0011 |
1 | 0100 |
2 | 0101 |
3 | 0110 |
4 | 0111 |
5 | 1000 |
6 | 1001 |
7 | 1010 |
8 | 1011 |
9 | 1100 |
Example: 123 is coded 0100,0101,0110
The codes 0000 or 1111 are not used to represent numbers, which can be interesting in the sending of communication (the sequences of 0 and 1 are often representative of reading errors)
Split the binary number into groups of 4 bits and replace each group with the corresponding number in the conversion table (above).
Example: 11001011 is split 1100,1011 and corresponds respectively to the numbers 9,8, so the conversion into decimal is 98
The code has a binary representation, it is not really distinguishable from another binary code (BCD, Gray, etc.) apart from its particularity to avoid sequences of more than 7 0000000 or 1111111.
Any reference to the old processors, calculators or electronic cash machines of the 70s is a clue.
George Stibitz created a calculating machine based on this principle in 1937.
dCode retains ownership of the "Excess-3 Code (Stibitz)" source code. Except explicit open source licence (indicated Creative Commons / free), the "Excess-3 Code (Stibitz)" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, breaker, translator), or the "Excess-3 Code (Stibitz)" functions (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and all data download, script, or API access for "Excess-3 Code (Stibitz)" are not public, same for offline use on PC, mobile, tablet, iPhone or Android app!
Reminder : dCode is free to use.
The copy-paste of the page "Excess-3 Code (Stibitz)" or any of its results, is allowed (even for commercial purposes) as long as you credit dCode!
Exporting results as a .csv or .txt file is free by clicking on the export icon
Cite as source (bibliography):
Excess-3 Code (Stibitz) on dCode.fr [online website], retrieved on 2024-12-19,