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:

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 machine of the 70s is a clue.

George **Stibitz** created a calculating machine based on this principle in 1937.

dCode retains ownership of the online "Excess-3 Code (Stibitz)" source code. Except explicit open source licence (indicated CC / Creative Commons / free), the "Excess-3 Code (Stibitz)" algorithm, the applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, 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, copy-paste, or API access for "Excess-3 Code (Stibitz)" are not public, same for offline use on PC, tablet, iPhone or Android ! Remainder : dCode is free to use.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

excess,xs,3,code,stibitz,binary

Source : https://www.dcode.fr/excess-3-code

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'Excess-3 Code (Stibitz)' tool, so feel free to write! Thank you!