The equals sign (British English) or equal sign (American English), also known as the equality sign, is the mathematical symbol , which is used to indicate equality. In an equation it is placed between two expressions that have the same value, or for which one studies the conditions under which they have the same value.
In Unicode and ASCII it has the code point U+003D. It was invented in 1557 by the Welsh mathematician Robert Recorde.
The symbol, now universally accepted in mathematics for equality, was first recorded by the Welsh mathematician Robert Recorde in The Whetstone of Witte (1557). The original form of the symbol was much wider than the present form. In his book Recorde explains his design of the "Gemowe lines" (meaning twin lines, from the Latin )See also and Gemini.
The symbol was not immediately popular. After its introduction by Recorde, it was not used again in print until 1618 (61 years later), in an anonymous Appendix in Edward Wright's English translation of Descriptio, by John Napier. It was not until 1631 that it received more than general recognition in England, being adopted as the symbol for equality in three influential works, Thomas Harriot's Artis analyticae praxis, William Oughtred's Clavis mathematicae and Richard Norwood's Trigonometria. Later used by John Wallis, Isaac Barrow and Isaac Newton, which helped it to spread to continental Europe.
A major competitor to Recorde's sign was Descartes' own symbol, introduced in his La Géométrie (1637). In fact, Descartes himself used the sign for equality in a letter in 1640. Descartes does not give any reason for introducing his new symbol; however, Florian Cajori suggests it is because was also being used for a difference operation at the time. Due to the prominence of La Géométrie, by 1675, Descartes' symbol gained favour over Recorde's in Europe, and most 17th-century writers on the continent either used Descartes' notation for equality or none at all. Around the turn of the 18th century, Recorde's notation gained favour rapidly. The dominating trend in mathematics of the time was differential and integral calculus. The fact that both Newton and Gottfried Wilhelm Leibniz used Recorde's symbol led to its general adoption.
The first important computer programming language to use the equals sign was the original version of Fortran, FORTRAN I, designed in 1954 and implemented in 1957. In Fortran, serves as an assignment operator: sets the value of to 2. This somewhat resembles the use of in a mathematical definition, but with different semantics: the expression following is evaluated first, and may refer to a previous value of . For example, the assignment increases the value of by 2.
A rival programming-language usage was pioneered by the original version of ALGOL, which was designed in 1958 and implemented in 1960. ALGOL included a relational operator that tested for equality, allowing constructions like with essentially the same meaning of as the conditional usage in mathematics. The equals sign was reserved for this usage.
Both usages have remained common in different programming languages into the early-21st century. As well as Fortran, is used for assignment in such languages as C, Perl, Python, awk and their descendants. But is used for equality and not assignment in the Pascal family, Ada, Eiffel, APL, and other languages.
A few languages, such as BASIC and PL/I, have used the equals sign to mean both assignment and equality, distinguished by context. However, in most languages where has one of these meanings, a different character or, more often, a sequence of characters is used for the other meaning. Following ALGOL, most languages that use for equality use for assignment, although APL, with its special character set, uses a left-pointing arrow.
Fortran did not have an equality operator (it was only possible to compare an expression to zero, using the arithmetic IF statement) until FORTRANIV was released in 1962, since when it has used the four characters to test for equality. The language B introduced the use of with this meaning, which has been copied by its descendant C and most later languages where means assignment.
Some languages additionally feature the "spaceship operator", or three-way comparison operator, , to determine whether one value is less than, equal to, or greater than another.
In PHP, the triple equals sign, , denotes value and Data type equality, meaning that not only do the two expressions evaluate to equal values, but they are also of the same data type. For instance, the expression is true, but is not, because the number 0 is an integer value whereas false is a Boolean value.
JavaScript has the same semantics for , referred to as "equality without type coercion". However, in JavaScript the behavior of cannot be described by any simple consistent rules. The expression is true, but is false, even though both sides of the act the same in Boolean context. For this reason it is sometimes recommended to avoid the operator in JavaScript in favor of .
In Ruby, equality under requires both operands to be of identical type, e.g. is false. The operator is flexible and may be defined arbitrarily for any given type. For example, a value of type is a range of integers, such as . is false, since the types are different (Range vs. Integer); however is true, since on values means "inclusion in the range". Under these semantics, === is non-symmetric; e.g. 1844 === (1800..1899) is false, since it is interpreted to mean Integer#=== rather than Range#===.
Instead of a double hyphen, the equals sign is sometimes used in Japanese as a separator between names. In Ojibwe language, the readily available equals sign on most keyboards is commonly used as a substitute for a double hyphen.
The Human Rights Campaign. ''HRC.org'', Retrieved 4 December 2018.
In some areas of East Asia, such as Japan, "≒" is used to mean "the two terms are almost equal", but in other areas and specialized literature such as mathematics, "≃" is often used. In addition to its mathematical meaning, it is sometimes used in Japanese sentences with the intention of "almost the same".
Most programming languages, limiting themselves to the ASCII character set and QWERTY, use , , , or to represent their Boolean logic inequality operator.
For example, if one were finding the sum, step by step, of the numbers 1, 2, 3, 4, and 5, one might incorrectly write
This difficulty results from subtly different uses of the sign in education. In early, arithmetic-focused grades, the equals sign may be operational; like the equal button on an electronic calculator, it demands the result of a calculation. Starting in algebra courses, the sign takes on a relational meaning of equality between two calculations. Confusion between the two uses of the sign sometimes persists at the university level.
|
|