TheInfoList

In
computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , , and . Computer science ...
, a relational operator is a
programming language A programming language is a formal language In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calcu ...

construct or operator that tests or defines some kind of relation between two entities. These include numerical equality (''e.g.'', ) and
inequalities Inequality may refer to: Economics * Attention inequality, unequal distribution of attention across users, groups of people, issues in etc. in attention economy * Economic inequality, difference in economic well-being between population groups * I ...
(''e.g.'', ). In programming languages that include a distinct
boolean data typeIn computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algorith ...
in their
type system In programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming languages are used in computer programming to ...
, like
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, French ...
,
Ada Ada may refer to: Places Africa * Ada Foah Ada Foah is a town on the southeast coast of Ghana, where the Volta River meets the Atlantic Ocean. The town is located along the Volta River, off of the Accra-Aflao motorway. Known for Palm tree, pal ...
, or
Java Java ( id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands The Greater Sunda Islands are four tropical islands situated within Southeast Asia, in the Pacific Ocean. The islands, Borneo, Java, Sulawesi and Sumatra, are internat ...
, these operators usually evaluate to true or false, depending on if the conditional relationship between the two
operand In mathematics an operand is the object of a mathematical operation, i.e., it is the object or quantity that is operated on. Example The following arithmetic expression shows an example of operators and operands: :3 + 6 = 9 In the above example, ...
s holds or not. In languages such as C, relational operators return the integers 0 or 1, where 0 stands for false and any non-zero value stands for true. An expression created using a relational operator forms what is termed a ''relational expression'' or a ''condition''. Relational operators can be seen as special cases of logical predicates.

# Equality

## Usage

Equality is used in many programming language constructs and data types. It is used to test if an element already exists in a set, or to access to a value through a key. It is used in
switch statement In computer programming language A programming language is a formal language comprising a set of instructions that produce various kinds of output. Programming languages are used in computer programming Computer programming is the proces ...
s to dispatch the control flow to the correct branch, and during the unification process in logic programming. One possible meaning of equality is that "if ''a'' equals ''b'', then either ''a'' or ''b'' can be used interchangeably in any context without noticing any difference." But this statement does not necessarily hold, particularly when taking into account mutability together with content equality.

## Location equality vs. content equality

Sometimes, particularly in
object-oriented programming Object-oriented programming (OOP) is a programming paradigm Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. Some paradigms are concerned mainl ...
, the comparison raises questions of
data type In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Alg ...
s and
inheritance Inheritance is the practice of passing on private property Private property is a legal designation for the ownership of property by non-governmental legal entities. Private property is distinguishable from public property Public property i ...
, equality, and
identity Identity may refer to: Social sciences * Identity (social science), personhood or group affiliation in psychology and sociology Group expression and affiliation * Cultural identity, a person's self-affiliation (or categorization by others ...
. It is often necessary to distinguish between: * two different objects of the same type, e.g., two hands * two objects being equal but distinct, e.g., two $10 banknotes * two objects being equal but having different representation, e.g., a$1 bill and a \$1 coin * two different references to the same object, e.g., two nicknames for the same person In many modern programming languages, objects and data structures are accessed through
references Reference is a relationship between objects in which one object designates, or acts as a means by which to connect to or link to, another object. The first object in this relation is said to ''refer to'' the second object. It is called a ''name'' ...
. In such languages, there becomes a need to test for two different types of equality: * Location equality (identity): if two references (A and B) reference the same object. Interactions with the object through A are indistinguishable from the same interactions through B, and in particular changes to the object through A are reflected through B. * Content equality: if the objects referenced by two references (A and B) are equivalent in some sense: :* Structural equality (that is, their contents are the same). which may be either shallow (testing only immediate subparts), or deep (testing for equality of subparts recursively). A simple way to achieve this is through representational equality: checking that the values have the same representation. :* Some other tailor-made equality, preserving the external behavior. For example, 1/2 and 2/4 are considered equal when seen as a rational number. A possible requirement would be that "A = B if and only if all operations on objects A and B will have the same result", in addition to reflexivity,
symmetry Symmetry (from Greek#REDIRECT Greek Greek may refer to: Greece Anything of, from, or related to Greece Greece ( el, Ελλάδα, , ), officially the Hellenic Republic, is a country located in Southeast Europe. Its population is appro ...

, and transitivity. The first type of equality usually implies the second (except for things like ''not a number'' (
NaN In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and softwar ...
) which are unequal to themselves), but the converse is not necessarily true. For example, two
string String or strings may refer to: *String (structure), a long flexible structure made from threads twisted together, which is used to tie, bind, or hang other objects Arts, entertainment, and media Films * Strings (1991 film), ''Strings'' (1991 fil ...
objects may be distinct objects (unequal in the first sense) but contain the same sequence of characters (equal in the second sense). See
identity Identity may refer to: Social sciences * Identity (social science), personhood or group affiliation in psychology and sociology Group expression and affiliation * Cultural identity, a person's self-affiliation (or categorization by others ...
for more of this issue. Real numbers, including many simple
fractions A fraction (from Latin ', "broken") represents a part of a whole or, more generally, any number of equal parts. When spoken in everyday English, a fraction describes how many parts of a certain size there are, for example, one-half, eight-fifths, ...
, cannot be represented exactly in
floating-point arithmetic In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes and development of both computer hardware , hardware and soft ...
, and it may be necessary to test for equality within a given tolerance. Such tolerance, however, can easily break desired properties such as transitivity, whereas reflexivity breaks too: the
IEEE floating point The IEEE Standard for Floating-Point Arithmetic (IEEE 754) is a for established in 1985 by the (IEEE). The standard found in the diverse floating-point implementations that made them difficult to use reliably and . Many hardware s use the IE ...
standard requires that ''NaN ≠ NaN'' holds. Other programming elements such as computable functions, may either have no sense of equality, or an equality that is uncomputable. For these reasons, some languages define an explicit notion of "comparable", in the form of a base class, an interface, a trait or a protocol, which is used either explicitly, by declaration in source code, or implicitly, via the structure of the type involved.

## Comparing values of different types

In
JavaScript JavaScript (), often abbreviated JS, is a programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming lang ...

,
PHP PHP is a general-purpose scripting language geared towards web development Web development is the work involved in developing a Web site, website for the Internet (World Wide Web) or an intranet (a private network). Web development can range ...

,
VBScript VBScript (''"Microsoft Microsoft Corporation is an American multinational corporation, multinational technology company with headquarters in Redmond, Washington. It develops, manufactures, licenses, supports, and sells Software, computer softw ...
and a few other
dynamically typed In programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming languages are used in computer programming to i ...
languages, the standard equality operator evaluates to ''true'' if two values are equal, even if they have different types, making the number 4 compare equal to the text string "4", for instance. A typed equality operator is often available also, in such languages, returning true only for values with identical or equivalent types (in PHP, 4 "4" is false although 4 "4" is true). For languages where the number 0 may be interpreted as ''false'', this operator may simplify things such as checking for zero (as x 0 would be true for x being either 0 or "0" using the type agnostic equality operator).

# Ordering

''Greater than'' and ''less than'' comparison of non-numeric data is performed according to a sort convention (such as, for text strings,
lexicographical order In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). It ...
) which may be built into the programming language and/or configurable by a programmer. When it is desired to associate a numeric value with the result of a comparison between two data items, say ''a'' and ''b'', the usual convention is to assign −1 if a < b, 0 if a = b and 1 if a > b. For example, the C function  strcmp performs a
three-way comparison In human sexuality Human sexuality is the way people experience and express themselves Human sexual activity, sexually. This involves biological, erotic, Physical intimacy, physical, Emotional intimacy, emotional, social, or Spirituality, ...
and returns −1, 0, or 1 according to this convention, and qsort expects the comparison function to return values according to this convention. In
sorting algorithm In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of , , a ...
s, the efficiency of comparison code is critical since it is one of the major factors contributing to sorting performance. Comparison of programmer-defined
data type In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Alg ...
s (data types for which the programming language has no in-built understanding) may be carried out by custom-written or library functions (such as strcmp mentioned above), or, in some languages, by '' overloading'' a comparison operator – that is, assigning a programmer-defined meaning that depends on the data types being compared. Another alternative is using some convention such as memberwise comparison.

# Logical equivalence

Though perhaps unobvious at first, like the boolean
logical operator Logic (from Greek: grc, λογική, label=none, lit=possessed of reason, intellectual, dialectical, argument In logic Logic (from Ancient Greek, Greek: grc, wikt:λογική, λογική, label=none, lit=possessed of reason ...
s XOR, AND, OR, and NOT, relational operators can be designed to have
logical equivalence In logic and mathematics, statements p and q are said to be logically equivalent if they are provable from each other under a set of axioms, or have the same truth value in every model (logic), model. The logical equivalence of p and q is sometimes ...
, such that they can all be defined in terms of one another. The following four conditional statements all have the same logical equivalence ''E'' (either all true or all false) for any given ''x'' and ''y'' values: :$E = \begin x < y \\ y > x \\ x \ngeq y \\ y \nleq x \end$ This relies on the domain being well ordered.

# Standard relational operators

The most common numerical relational operators used in programming languages are shown below. Other conventions are less common:
Common Lisp Common Lisp (CL) is a dialect of the Lisp (programming language), Lisp programming language, published in American National Standards Institute, ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Comm ...
and
Macsyma Macsyma (; "Project MAC's SYmbolic MAnipulator") is one of the oldest general-purpose computer algebra systems still in wide use. It was originally developed from 1968 to 1982 at MIT's Project MAC. In 1982, Macsyma was licensed to Symbolics and be ...
/ Maxima use Basic-like operators except for inequality, which is /= in Common Lisp and # in Macsyma/Maxima. Older Lisps used equal, greaterp, and lessp; and negated them using not for the remaining operators.

# Syntax

Relational operators are also used in technical literature instead of words. Relational operators are usually written in
infix notation Infix notation is the notation commonly used in arithmetical and logic Logic (from Ancient Greek, Greek: grc, wikt:λογική, λογική, label=none, lit=possessed of reason, intellectual, dialectical, argumentative, translit=logikḗ) ...
, if supported by the programming language, which means that they appear between their operands (the two expressions being related). For example, an expression in Python will print the message if the ''x'' is less than ''y'': if x < y: print("x is less than y in this example") Other programming languages, such as
Lisp Lisp (historically LISP) is a family of programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming languages ...
, use
prefix notation Polish notation (PN), also known as normal Polish notation (NPN), Łukasiewicz notation, Warsaw notation, Polish prefix notation or simply prefix notation, is a mathematical notation in which Operation (mathematics), operators ''precede'' their ...
, as follows: (>= X Y)

## Operator chaining

In mathematics, it is common practice to chain relational operators, such as in 3 < x < y < 20 (meaning 3 < x ''and'' x < y ''and'' y < 20). The syntax is clear since these relational operators in mathematics are transitive. However, many recent programming languages would see an expression like 3 < x < y as consisting of two left (or right-) associative operators, interpreting it as something like (3 < x) < y. If we say that x=4, we then get (3 < 4) < y, and evaluation will give true < y which generally does not make sense. However, it does compile in C/C++ and some other languages, yielding surprising result (as ''true'' would be represented by the number 1 here). It is possible to give the expression x < y < z its familiar mathematical meaning, and some programming languages such as Python and Raku do that. Others, such as C# and Java, do not, partly because it would differ from the way most other infix operators work in C-like languages. The
D programming language D, also known as Dlang, is a multi-paradigm system programming language created by Walter Bright at Digital Mars and released in 2001. Andrei Alexandrescu joined the design and development effort in 2007. Though it originated as a re-engine ...
does not do that since it maintains some compatibility with C, and "Allowing C expressions but with subtly different semantics (albeit arguably in the right direction) would add more confusion than convenience". Some languages, like
Common Lisp Common Lisp (CL) is a dialect of the Lisp (programming language), Lisp programming language, published in American National Standards Institute, ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Comm ...
, use multiple argument predicates for this. In Lisp (<= 1 x 10) is true when x is between 1 and 10.

## Confusion with assignment operators

Early FORTRAN (1956–57) was bounded by heavily restricted character sets where = was the only relational operator available. There were no < or > (and certainly no ≤ or ≥). This forced the designers to define symbols such as .GT., .LT., .GE., .EQ. etc. and subsequently made it tempting to use the remaining = character for copying, despite the obvious incoherence with mathematical usage (X=X+1 should be impossible). International Algebraic Language (IAL,
ALGOL 58 ALGOL 58, originally named IAL, is one of the family of ALGOL Algol , designated Beta Persei (β Persei, abbreviated Beta Per, β Per), known colloquially as the Demon Star, is a bright multiple star in the co ...
) and
ALGOL Algol , designated Beta Persei (β Persei, abbreviated Beta Per, β Per), known colloquially as the Demon Star, is a bright multiple star in the constellation A constellation is an area on the celestial s ...
(1958 and 1960) thus introduced := for assignment, leaving the standard = available for equality, a convention followed by CPL,
ALGOL W ALGOL W is a programming language A programming language is a formal language comprising a Instruction set architecture, set of instructions that produce various kinds of Input/output, output. Programming languages are used in computer programm ...
, ALGOL 68, Basic Combined Programming Language (
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative Imperative may refer to: *Imperative mood, a grammatical mood (or mode) expressing commands, direct requests, and prohibitions *Imperative programming, a programming pa ...
),
Simula Simula is the name of two simulation A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the select ...
, SET Language (
SETL SETL (SET Language) is a very high-level programming language based on the mathematical theory of sets. It was originally developed by (Jack) Jacob T. Schwartz at the New York University New York University (NYU) is a private resear ...
),
Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of people and fictional characters with the name ** Blaise Pascal, French ...
,
Smalltalk Smalltalk is an object-oriented programming, object-oriented, dynamically typed reflection (computer science), reflective programming language. Smalltalk was created as the language underpinning the "new world" of computing exemplified by "human ...

,
Modula-2 Modula-2 is a structured, procedural programming language A programming language is a formal language In logic, mathematics, computer science, and linguistics, a formal language consists of string (computer science), words whose symbol ( ...
,
Ada Ada may refer to: Places Africa * Ada Foah Ada Foah is a town on the southeast coast of Ghana, where the Volta River meets the Atlantic Ocean. The town is located along the Volta River, off of the Accra-Aflao motorway. Known for Palm tree, pal ...
,
Standard ML Standard ML (SML) is a general-purpose modular functional programming language with compile-time type checking and type inference. It is popular among compiler In computing, a compiler is a computer program that Translator (computing), trans ...
,
OCaml OCaml ( , formerly Objective Caml) is a general-purpose, multi-paradigm programming language Programming paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. S ...
, Eiffel,
Object Pascal Object Pascal is an extension to the programming language Pascal Pascal, Pascal's or PASCAL may refer to: People and fictional characters * Pascal (given name), including a list of people with the name * Pascal (surname), including a list of ...
(
Delphi Delphi (; ), in legend previously called Pytho (Πυθώ), in ancient times was a sacred precinct that served as the seat of Pythia, the major oracle who was consulted about important decisions throughout the ancient classical world. The oracle ...
),
Oberon Oberon () is a king of the fairies A fairy (also ''fay'', ''fae'', ''fey'', ''fair folk'', or ''faerie'') is a type of mythical Myth is a folklore genre Folklore is the expressive body of culture shared by a particular group of pe ...

, Dylan, VHSIC Hardware Description Language (
VHDL The VHSIC Hardware Description Language (VHDL) is a hardware description language In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic ci ...
), and several other languages.

### B and C

This uniform de facto standard among most programming languages was eventually changed, indirectly, by a minimalist compiled language named B. Its sole intended application was as a vehicle for a first port of (a then very primitive)
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser Multi-user software is computer software Software is a collection of Instruction (computer science), instructions that tell a computer how to work. This is in contrast t ...

, but it also evolved into the very influential C language. B started off as a syntactically changed variant of the systems programming language
BCPL BCPL ("Basic Combined Programming Language") is a procedural, imperative Imperative may refer to: *Imperative mood, a grammatical mood (or mode) expressing commands, direct requests, and prohibitions *Imperative programming, a programming pa ...
, a simplified (and typeless) version of CPL. In what has been described as a "strip-down" process, the and and or operators of BCPL were replaced with & and ,  (which would later become && and , , , respectively.). In the same process, the ALGOL style := of BCPL was replaced by = in B. The reason for all this being unknown. As variable updates had no special syntax in B (such as let or similar) and were allowed in expressions, this non standard meaning of the equal sign meant that the traditional semantics of the equal sign now had to be associated with another symbol.
Ken Thompson Kenneth Lane Thompson (born February 4, 1943) is an American pioneer of computer science. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B (programmi ...

combination for this. As a small type system was later introduced, B then became C. The popularity of this language along with its association with Unix, led to Java, C#, and many other languages following suit, syntactically, despite this needless conflict with the mathematical meaning of the equal sign.

### Languages

Assignments in C have a
value Value or values may refer to: * Value (ethics) In ethics Ethics or moral philosophy is a branch of philosophy Philosophy (from , ) is the study of general and fundamental questions, such as those about Metaphysics, existence, reason, E ...
and since any non-zero scalar value is interpreted as ''true'' in conditional expressions,A zero scalar value is interpreted as false while any non-zero scalar value is interpreted as true; this is typically used with integer types, similar to
assembly language In computer programming Computer programming is the process of designing and building an executable computer program to accomplish a specific computing result or to perform a particular task. Programming involves tasks such as analysis, gene ...
idioms.
the code if (x = y) is legal, but has a very different meaning from if (x y). The former code fragment means "assign ''y'' to ''x'', and if the new value of ''x'' is not zero, execute the following statement". The latter fragment means "
if and only if In logic Logic is an interdisciplinary field which studies truth and reasoning. Informal logic seeks to characterize Validity (logic), valid arguments informally, for instance by listing varieties of fallacies. Formal logic represents st ...
''x'' is equal to ''y'', execute the following statement"., 19 int x = 1; int y = 2; if (x = y) Though
Java Java ( id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands The Greater Sunda Islands are four tropical islands situated within Southeast Asia, in the Pacific Ocean. The islands, Borneo, Java, Sulawesi and Sumatra, are internat ...
and C# have the same operators as C, this mistake usually causes a compile error in these languages instead, because the if-condition must be of type boolean, and there is no implicit way to convert from other types (''e.g.'', numbers) into booleans. So unless the variable that is assigned to has type boolean (or wrapper type Boolean), there will be a compile error. In ALGOL-like languages such as Pascal, Delphi, and Ada (in the sense that they allow nested function definitions), and in
Python Python may refer to: * Pythonidae The Pythonidae, commonly known as pythons, are a family of nonvenomous snakes found in Africa, Asia, and Australia. Among its members are some of the largest snakes in the world. Ten genera and 42 species ...
, and many functional languages, among others, assignment operators cannot appear in an expression (including if clauses), thus precluding this class of error. Some compilers, such as
GNU Compiler Collection The GNU Compiler Collection (GCC) is an optimizing compiler In computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithm of an ...
(GCC), provide a warning when compiling code containing an assignment operator inside an if statement, though there are some legitimate uses of an assignment inside an if-condition. In such cases, the assignment must be wrapped in an extra pair of parentheses explicitly, to avoid the warning. Similarly, some languages, such as
BASIC BASIC (Beginners' All-purpose Symbolic Instruction Code) is a family of general-purpose, high-level programming language In computer science Computer science deals with the theoretical foundations of information, algorithms and the ar ...

use just the = symbol for both assignment ''and'' equality, as they are syntactically separate (as with Pascal, Ada, Python, etc., assignment operators cannot appear in expressions). Some programmers get in the habit of writing comparisons against a constant in the reverse of the usual order: if (2

a)
If = is used accidentally, the resulting code is invalid because 2 is not a variable. The compiler will generate an error message, on which the proper operator can be substituted. This coding style is termed left-hand comparison, or Yoda conditions. This table lists the different mechanisms to test for these two types of equality in various languages: Ruby uses a b to mean "b is a member of the set a", though the details of what it means to be a member vary considerably depending on the data types involved.

is here known as the "case equality" or "case subsumption" operator.

*
Binary relation Binary may refer to: Science and technology Mathematics * Binary number In mathematics and digital electronics Digital electronics is a field of electronics The field of electronics is a branch of physics and electrical engineeri ...
* Common operator notation *
Conditional (computer programming) In computer science Computer science deals with the theoretical foundations of information, algorithms and the architectures of its computation as well as practical techniques for their application. Computer science is the study of Algor ...
*
Equality (mathematics) In mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra), shapes and spaces in which they are contained (geometry), and quantities and ...
*
Equals sign The equals sign (British English British English (BrE) is the standard dialect A standard language (also standard variety, standard dialect, and standard) is a language variety that has undergone substantial codification of grammar an ...

*
Logical operator Logic (from Greek: grc, λογική, label=none, lit=possessed of reason, intellectual, dialectical, argument In logic Logic (from Ancient Greek, Greek: grc, wikt:λογική, λογική, label=none, lit=possessed of reason ...
*
Operation (mathematics) In mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra), shapes and spaces in which they are contained (geometry), and quantities and ...
*
Operator (mathematics) In mathematics Mathematics (from Greek: ) includes the study of such topics as numbers (arithmetic and number theory), formulas and related structures (algebra), shapes and spaces in which they are contained (geometry), and quantities and ...
*
Operator (computer programming) In computer programming, operators are constructs defined within programming languages which behave generally like Subroutine, functions, but which differ Syntax (programming languages), syntactically or Semantics_(computer science), semantical ...
* Spaceship operator *
Triadic relation In mathematics Mathematics (from Ancient Greek, Greek: ) includes the study of such topics as quantity (number theory), mathematical structure, structure (algebra), space (geometry), and calculus, change (mathematical analysis, analysis). It h ...

# Notes and references

{{Reflist Operators (programming) Binary operations Comparison (mathematical) Articles with example C code