thumb|alt=01010111 01101001 01101011 01101001 01110000 01100101 01100100 01101001 01100001 = Wikipedia|The ASCII-encoded letters of "Wikipedia" represented as binary codes.

A binary code is the value of a data-encoding convention represented in a binary notation that usually is a sequence of 0s and 1s, sometimes called a bit string. For example, ASCII is an 8-bit text encoding that in addition to the human readable form (letters) can be represented as binary. Binary code can also refer to the mass noun code that is not human readable in nature such as machine code and bytecode.

Even though all modern computer data is binary in nature, and therefore can be represented as binary, other numerical bases may be used. Power of 2 bases (including hex and octal) are sometimes considered binary code since their power-of-2 nature makes them inherently linked to binary. Decimal is, of course, a commonly used representation. For example, ASCII characters are often represented as either decimal or hex. Some types of data such as image data is sometimes represented as hex, but rarely as decimal.

History

thumb|upright|[[Gottfried Leibniz]]

Invention

The modern binary number system, the basis for binary code, is an invention by Gottfried Leibniz in 1689 and appears in his article Explication de l'Arithmétique Binaire (English: Explanation of the Binary Arithmetic) which uses only the characters 1 and 0, and some remarks on its usefulness. Leibniz's system uses 0 and 1, like the modern binary numeral system. Binary numerals were central to Leibniz's intellectual and theological ideas. He believed that binary numbers were symbolic of the Christian idea of creatio ex nihilo or creation out of nothing. In Leibniz's view, binary numbers represented a fundamental form of creation, reflecting the simplicity and unity of the divine. through French Jesuit Joachim Bouvet and noted with fascination how its hexagrams correspond to the binary numbers from 0 to 111111, and concluded that this mapping was evidence of major Chinese accomplishments in the sort of philosophical visual binary mathematics he admired. After Leibniz ideas were ignored, the book had confirmed his theory that life could be simplified or reduced down to a series of straightforward propositions. He created a system consisting of rows of zeros and ones. During this time period, Leibniz had not yet found a use for this system. The binary system of the I Ching is based on the duality of yin and yang. Slit drums with binary tones are used to encode messages across Africa and Asia.

Mangareva people in French Polynesia were using a hybrid binary-decimal system before 1450. In the 11th century, scholar and philosopher Shao Yong developed a method for arranging the hexagrams which corresponds, albeit unintentionally, to the sequence 0 to 63, as represented in binary, with yin as 0, yang as 1 and the least significant bit on top. The ordering is also the lexicographical order on sextuples of elements chosen from a two-element set.

thumb|upright|[[George Boole]]In 1605 Francis Bacon discussed a system whereby letters of the alphabet could be reduced to sequences of binary digits, which could then be encoded as scarcely visible variations in the font in any random text.

Boolean Logical System

George Boole published a paper in 1847 called 'The Mathematical Analysis of Logic' that describes an algebraic system of logic, now known as Boolean algebra. Boole's system was based on binary, a yes-no, on-off approach that consisted of the three most basic operations: AND, OR, and NOT. This system was not put into use until a graduate student from Massachusetts Institute of Technology, Claude Shannon, noticed that the Boolean algebra he learned was similar to an electric circuit. In 1937, Shannon wrote his master's thesis, A Symbolic Analysis of Relay and Switching Circuits, which implemented his findings. Shannon's thesis became a starting point for the use of the binary code in practical applications such as computers, electric circuits, and more.

Timeline

  • 1875: Émile Baudot "Addition of binary strings in his ciphering system," which, eventually, led to the ASCII of today.
  • 1884: The Linotype machine where the matrices are sorted to their corresponding channels after use by a binary-coded slide rail.
  • 1932: C. E. Wynn-Williams "Scale of Two" counter
  • 1937: Alan Turing electro-mechanical binary multiplier
  • 1937: George Stibitz "excess three" code in the Complex Computer

; Ifá: The Ifá/Ifé system of divination in African religions, such as of Yoruba, Igbo, and Ewe, consists of an elaborate traditional ceremony producing 256 oracles made up by 16 symbols with 256 = 16 x 16. A priest, or Babalawo, requests sacrifice from consulting clients and makes prayers. Then, divination nuts or a pair of chains are used to produce random binary numbers, which are drawn with sandy material on an "Opun" figured wooden tray representing the totality of fate.

Encoding

thumb|An example of a recursive [[binary space partitioning quadtree for a 2D index]]

Innumerable encoding systems exists. Some notable examples are described here.

; ASCII: The American Standard Code for Information Interchange (ASCII) character encoding, is a 7-bit convention for representing (normal/printing) characters and control operations. Each printing and control character is assigned a number from 0 to 127. For example, "a" is represented by decimal code 97 which is rendered as bit string <code>1100001</code>.

; Binary-coded decimal: Binary-coded decimal (BCD) is an encoding of integer values that consists of a 4-bit nibble for each decimal digit. As a decimal digit is only 1 of 10 values (0 to 9) but 4 bits can encode up to 16 values, and BCD element is invalid for a value greater than 9.

See also

References

  • , predates binary number system.
  • Table of general binary codes. An updated version of the tables of bounds for small general binary codes given in .
  • Table of Nonlinear Binary Codes. Maintained by Simon Litsyn, E. M. Rains, and N. J. A. Sloane. Updated until 1999.
  • cites some pre-ENIAC milestones.
  • First book in the world fully written in binary code: (<abbr>IT</abbr>) Luigi Usai, 01010011 01100101 01100111 01110010 01100101 01110100 01101001, Independently published, 2023, . <small>URL consulted September 8, 2023</small>.