From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

The hyphen-minus, -, is a character used in digital documents and computing to represent a hyphen or a minus sign .[1]

It is present in Unicode as code point U+002D - HYPHEN-MINUS; it is also in ASCII with the same value.


The glyph for the hyphen-minus is not as wide as that of the plus sign.

The use of a single character for both hyphen and minus was a compromise made in the early days of fixed-width (monospaced font) typewriters and computer displays.[2] However, in proper typesetting and graphic design, there are distinct characters for hyphens, dashes, and the minus sign. Usage of the hyphen-minus nonetheless persists in many contexts, as it is well known, easy to enter on keyboards, and in the same location in all common character sets.


As the minus sign[edit]

Most programming languages, restricted to 7-bit ASCII,[a] use the hyphen-minus (rather than the Unicode character U+2212 MINUS SIGN) for denoting subtraction and negation.[3][4]

The minus sign is nominally the same width as the plus sign. In proportional typefaces it is longer than a hyphen. During typesetting a word wrap may also occur following a hyphen-minus, unlike the minus sign proper which is treated as a mathematical symbol no different (typographically) from a number or letter. These differences make "-" as a substitute for minus signs undesirable in professional typography.

Command line[edit]

The ASCII hyphen-minus character is also often used when specifying command-line options. The character is usually followed by one or more letters that indicate specific actions. Various implementations of the getopt function to parse command-line options additionally allow the use of two hyphen-minus characters, --, to specify long option names that are more descriptive than their single-letter equivalents. Another use of hyphens is that employed by programs written with pipelining in mind: a single hyphen may be recognized in lieu of a filename, with the hyphen then serving as an indicator that a standard stream, instead of a file, is to be worked with.

Other uses[edit]

On typewriters, it was conventional to use a pair of hyphens to represent an em dash, and this convention is still sometimes used in computer text. Some word processors automatically convert a pair of hyphens to an em dash.

The hyphen-minus is often used to represent an en dash, which may be used to indicate ranges (such as a time range of "2000-2004" rather than "2000–2004"), direction (as in "The Los Angeles-London flight"), and other cases of connection. The en dash is normally longer (the width of a letter "n") than a hyphen. The hyphen connects closely, the en dash less closely, while the em dash—with the width (at least traditionally) of the capital letter "M"—separates.[5]

In some programming languages, -- marks beginning of a comment. Likewise, it can occasionally start the signature block.

See also[edit]


  1. ^ for parsed tokens, even though they might allow Unicode in quoted strings and comments


  1. ^ Jukka K. Korpela (2006). Unicode explained. O'Reilly. p. 382. ISBN 978-0-596-10121-3.
  2. ^ Fischer, Eric. "The Evolution of Character Codes, 1874-1968". CiteSeerX Cite journal requires |journal= (help)
  3. ^ Ritchie, Dennis (c. 1975). "C Reference Manual" (PDF). Bell Labs. Retrieved 7 December 2016.
  4. ^ Marlow, Simon (ed.). Haskell 2010 Language Report (PDF). Retrieved 7 December 2016.[page needed]
  5. ^ "Hyphens, En Dashes, Em Dashes". The Chicago Manual of Style Online. Retrieved 25 January 2017.