34

While we're all accustomed to using * as the multiplication symbol (not to mention other esoteric meanings in programming) it is of course not actually the everyday standard symbol for multiplication. And yet, there is no × key on any normal keyboard.

Given the lack of × I can see why * was the next-best choice, but why is it there at all? What did it mean originally and or what use did it have?

Every 'standard' "IBM-PC" type keyboard I can every remember using had this symbol. Possibly some Solaris terminals may or may not have (can't recall). The C64 had it. In any case it seems to go way back to at least the early 80s, I'd bet earlier.


[I searched for "asterisk" on here but didn't find this question already; if I missed a dupe, please point it out.]

  • 7
    Because it is part of the ASCII character set? – user3840170 Sep 5 at 13:05
  • 52
    It was used in printed text (e.g. to mark footnotes or marginal notes) for hundreds of years before ASCII was invented. – alephzero Sep 5 at 13:08
  • 11
    When Fortran was invented in the 1950s, asterisk was already available on punched cards and teletypes. This was the closest symbol to the multiplication sign. Likewise, there was a forward slash, which was the closest symbol to the division sign. – Walter Mitty Sep 5 at 13:52
  • 7
    Another option would be which I think is much more common than × in higher mathematics – Mark Sep 6 at 9:34
  • 8
    "it is of course not actually the correct symbol for multiplication" Why not? In mathematics we use a floating dot, an asterisk is close enough. Floating dots can be hard to read in some fonts. – Mast Sep 7 at 9:23
63

Computer terminal keyboards needed to reproduce the symbols available on punched cards and paper tape. In the US, punched cards dominated the data-processing industry (communications uses tended to paper tape).

IBM punched card codes in particular were significant in the industry.

The IBM 026 keypunch (and its replacement the 029) had an asterisk. By the time online keyboards became interesting, the asterisk was already in use in various programming contexts, and therefore was still needed.

The 026 had different character sets (and encoding) available, but asterisk was common to most (all?) of the configurations. See this page for examples, but here is the FORTRAN set:

+-0123456789ABCDEFGHIJKLMNOPQR/STUVWXYZ =' .) $* ,(

You can regard that scanty set as the minimum requirement for any subsequent computer keyboard.

But why was there an asterisk on 026/029 card punches?

This authoritative document on coded character sets says, on page 66, that asterisk was added to IBM punch card codes 'somewhere around 1932' and was used for cheque protection. This was a 39-character set: alphanumerics, minus sign, ampersand, asterisk.

Therefore, the need for asterisk on data-processing equipment was settled long before stored-program digital computers came on the scene. And of course, if the processing equipment can use a character, it needs to be on the keyboards.

| improve this answer | |
  • 1
    Cool! That makes the asterisk (along with the minus sign for negative numbers and ampersand for names, such as Mr & Mrs Jones) one of the oldest special characters! – 00prometheus Sep 5 at 22:00
  • This doesn't answer why × wasn't included for multiplication at the same time that + was included for addition. – Ian Kemp Sep 5 at 22:27
  • 6
    To some extent the argument is circular: programming languages use whatever chars I/O devices have; I/O devices choose character sets that programming languages use. But codepoints aren't free. In particular, it is desirable that a printer can print all characters. + was added when the character set was extended to 48 chars. 48 fits with existing 240-character chain printers; 49 does not (see p70 in the coded char sets doc linked above). Adding ×would have to displace something else. Apparently, using * for multiplication was the better tradeoff. – another-dave Sep 6 at 0:58
  • 3
    @IanKemp it might have been added for explicitly listing positive numbers, not for addition. – Ángel Sep 6 at 2:26
  • 2
    Kudos to Dave as usual, but if I could throw in a couple more bits. The Wp article on "Six-bit character code" shows that numerous pre-ASCII character codes used for computers had *, while the article on "Baudot code" shows that it had less significance for communication. I think that John Savard's page at quadibloc.com/crypto/mi060103.htm is also interesting, as are his observations on keyboards. As the archetypal ALGOL machines, the Burroughs Large Systems 6-bit character codes had both * and the multiplication symbol × (as of course did keyboards for interactive APL etc.). – Mark Morgan Lloyd Sep 6 at 7:52
73

Keyboards have an asterisk because typewriters did, long before computers existed.

Typewriters, particularly mechanical ones, typically made a number of compromises to reduce the number of keys required. For example, many didn‘t have 0 or 1, and people used O and I or l instead. Likewise, × wasn’t needed since x could be used instead, or · (. half-up). The asterisk was used a lot (e.g. for footnotes, section separators, etc.), and no alphabetic character could replace it, so it was included in many popular keyboards (see for example Hemingway’s Underwood Portable or the Underwood 5).

Since it featured on most typewriters, it ended up being included in some of the character sets used for communications, and in early computer keyboards too (they started off as typewriters), and then in ASCII (via said communications character sets). See Why are the symbols on the number keys of PC & Mac keyboards different to ASCII keyboards? for details. By the time ASCII was standardised, * had taken on its mathematical meaning; it’s included in the mathematical symbols (p. 213).

| improve this answer | |
  • 3
    @another-dave the Underwood 5 had it, and that was one of the most popular typewriters. – Stephen Kitt Sep 5 at 14:32
  • 3
    It was actually more common to use a lower case L l in place of 1. That's why in some variations of the Courier font the two characters look identical. – Ross Ridge Sep 5 at 14:55
  • 3
    @UuDdLrLrSs pre-computing, and still today, asterisk is commonly used for footnotes. It has other uses as well. – Wayne Conrad Sep 5 at 16:11
  • 1
    @Raffzahn I've got two Hermes Baby typewriters, one with a US layout and one with a French layout. They both lack 1 and 0 using l and O instead. Some, but not all¹, of this model had an asterisk. A lot of inter-language variation even for the same model. ¹Swedish layout – Alex Hajnal Sep 6 at 2:54
  • 2
    Strictly speaking, the asterisk character is not needed either. On Cyrillic typewriters it was typically produced as x-backspace--. – Leo B. Sep 6 at 6:55
13

The reason to use * instead of × is disambiguation. × looks very similar to x now, even more so in the early days of computing, before the laser printer became ubiquitous and you needed typesetting software and a printing press to produce an × that was distinguishable from an x.

According to this post, we can blame Fortran:

While it is now common practice to use an asterisk for multiplication, I don’t think that was the case before the FORTRAN programming language was developed at IBM by John Backus and his team.

Presumably, the asterisk was chosen — presumably because it was the non-alphanumeric symbol that most-closely resembled the customary × symbol that denoted multiplication, whereas the letter X could not be used, since FORTRAN used letters of the alphabet for symbolic variable names of variables and unknowns. Since there were no superscripts (nor subscripts) available, so exponentiation was indicated with a double-asterisk: ** (and parentheses were used to surround subscripts). Furthermore, the letter “E” was used (following a string of digits) to render numbers in “scientific notation”, e.g., 6.02×1023.

The asterisk has been used as a multiplication symbol for a long time:

In the old days of arithmetic, many algorithms made use of the cross of San Andres to solve division and multiplication products and proportions. It may be for that reason that in 1631, Oughtred, chose this cross as a symbol for multiplication.

It experienced great acceptance, except by the mathematicians Gottfried W. Leibniz and Isaac Newton, who did not feel completely comfortable with the symbol. Leibniz, in 1698, in one of his letters to the mathematician Johann Bernoulli, writes: “I do not like the × symbol as a symbol for multiplication since it can be mistaken for x; … I often simply relate two quantities with a point and indicate multiplication with RS · PQ.”

...

For example, the Swiss mathematician Johann Rahn, (1622-1676), used the asterisk * in his work Teutsche Algebra (1659). As well as Leibniz, who previously used a fallen C, with the open side down, in his Dissertatio of combinatorial art (1666).

| improve this answer | |
  • I wonder if Backus et al knew of the earlier usage, or if that was just a coincidence? – UuDdLrLrSs Sep 6 at 11:19
  • Perhaps, conversely, the apparent similarity of the symbol ‘×’ and the letter ‘x’ is why the former wasn't included on early typewriters, as they'd expect the typist to substitute the latter? (In the same way that some typewriters didn't see a need to include ‘0’ or ‘1’, as ‘O’ and ‘l’ were used instead.) – gidds Sep 6 at 12:59
  • Bear in mind that * would not have been used if it weren't present on the keyboards of the era. – Hot Licks Sep 6 at 19:38
9

Circa 1950 Royal typerwriter. Top row of keys, second from the right. What do you see?

enter image description here

| improve this answer | |
  • But when computer keyboards were designed, people did not have to mindlessly copy typewriter layouts. For one thing computers were clearly used for mathematics (not word processing as we think of them today) so it was a choice to continue to omit the x and include * – UuDdLrLrSs Sep 6 at 11:18
  • 10
    @UuDdLrLrSs - The first common computer keyboards were Teletypes, originally designed to replace telegraphs for distance communication between humans. – Hot Licks Sep 6 at 12:32
  • 1
    'Common' might be in the eye of the beholder, but before the model 33 teletype, computers used things like IBM Typewriters and Friden Flexowriters, both as console devices, and for offline tape preparation. The teletype became popular with minicomputers and for timesharing systems because it was relatively cheap. – another-dave Sep 6 at 19:29
  • @another-dave - Above the "8". p3oriontopsecret.com/… – Hot Licks Sep 6 at 19:36
  • 2
    What's the ASCII code for "¢"? – Carsten S Sep 7 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.