Skip to content
Category

Computer arithmetic

page 1
binary numeral system
system that represents numeric values using two symbols; 0 or 1
arithmetic logic unit
combinational digital circuit that performs arithmetic and bitwise operations on binary-coded integer numbers
floating point
computer format for representing rational numbers
rounding
thumb|300px|link=https://upload.wikimedia.org/wikipedia/commons/8/8a/Comparison_rounding_graphs_SMIL.svg|Graph of a function|Graphs of the result, , of rounding using different methods. For clarity, the graphs are shown displaced from integer values. In the SVG file, hover over a method to highlight it and, in SMIL-enabled browsers, click to select or deselect it.
binary-coded decimal
class of binary encodings of decimal numbers where each decimal digit is represented by a fixed number of bits, usually four or eight. Special bit patterns are sometimes used for a sign or for other indications
division by zero
the result yielded by a real number when divided by zero
integer data type
datum of integral data type
ternary numeral system
numeral system with three as its base
Hamming code
error-correcting code
floating-point unit
coprocessor for floating point arithmetic
NaN
thumb|An example of NaN appearing as a calculation error for input N/A on an electronic weather forecast In computing, NaN (), standing for Not a Number, is a particular value of a numeric data type (often a floating-point number) which is undefined as a number, such as the result of 0/0. Systematic use of NaNs was introduced by the IEEE 754 floating-point standard in 1985, along with the representation of other non-finite quantities such as infinities.
modulo operation
In computing and mathematics, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another, the latter being called the modulus of the operation.
signed zero
zero with an associated sign
IEEE 754
IEEE Standard for Floating-Point Arithmetic
carry
digit that is transferred from one column of digits to another column of more significant digits during a calculation algorithm
fixed-point arithmetic
computer format for representing real numbers
integer overflow
in programming, a condition that occurs when an arithmetic operation attempts to create a numeric value that is outside of the range that can be represented with a given number of digits
double-precision floating-point format
64-bit computer number format
significand
The significand (also coefficient, sometimes argument, or more ambiguously mantissa, fraction, or characteristic) is the first (left) part of a number in scientific notation or related concepts in floating-point representation, consisting of its significant digits. For negative numbers, it does not include the initial minus sign.
execution unit
integrated part of a processing unit (such as a CPU, or a GPU)
zero to the power of zero
mathematical expression with no necessarily obvious value
single-precision floating-point format
32-bit computer number format
signed number representation
encoding of negative numbers in binary number systems
arithmetic overflow
condition in computer arithmetics when a calculation yields a result that is greater in magnitude than that which a given storage location can represent
CORDIC
CORDIC, short for coordinate rotation digital computer, is a simple and efficient algorithm to calculate trigonometric functions, hyperbolic functions, square roots, multiplications, divisions, exponentials, and logarithms with arbitrary base, typically converging with one digit (or bit) per iteration. CORDIC is therefore an example of a digit-by-digit algorithm. The original system is sometimes referred to as '''Volder's algorithm'''.
exponentiation by squaring
algorithm
balanced ternary
numeral system that uses the digits −1, 0, and 1
interval arithmetic
method for bounding the errors of numerical computations
GNU Multiple Precision Arithmetic Library
library for arbitrary precision arithmetic, operating on signed integers, rational numbers and floating point numbers
arbitrary-precision arithmetic
calculations where numbers' precision is only limited by computer memory
circular shift
shift whose last entry moved to first place (or vice versa)
machine epsilon
upper bound on the relative error due to rounding in floating point arithmetic
Test-and-set
In computer science, the test-and-set instruction is an instruction used to write (set) a flag value to a memory location and return its old value as a single atomic (i.e., non-interruptible) operation. The caller can then "test" the result to see if the state was changed by the call. If multiple processes may access the same memory location, and if a process is currently performing a test-and-set, no other process may begin another test-and-set until the first process's test-and-set is finished. A central processing unit (CPU) may use a test-and-set instruction offered by another electronic c
arithmetic underflow
condition in programming where a calculated value is too small to be represented in memory
compare-and-swap
In computer science, compare-and-swap (CAS) is an atomic instruction used in multithreading to achieve synchronization. It compares the contents of a memory location with a given (the previous) value and, only if they are the same, modifies the contents of that memory location to a new given value. This is done as a single atomic operation. The atomicity guarantees that the new value is calculated based on up-to-date information; if the value had been updated by another thread in the meantime, the write would fail. The result of the operation must indicate whether it performed the substitution
negative base
non-standard positional numeral system
radix character
symbol used to separate the integer part of a number from its fractional part
barrel shifter
digital circuit that implements a bit-shift operation
Multiply–accumulate operation
or multiplier–accumulator, in digital signal processing
sign bit
bit indicating the sign of a number
computer number format
internal representation of numeric values in a digital computer
carry flag
processor flag indicating whether unsigned arithmetic overflow has occurred
Kahan summation algorithm
computation algorithm to sum a sequence of floating-point numbers
method of complements
method of subtraction
normalized number
subnormal number
floating-point values with a special representation that denote numbers very close to 0
Hamming(7,4)
thumb|300px|Graphical depiction of the 4 data bits d1 to d4 and 3 parity bits p1 to p3 and which parity bits apply to which data bits In coding theory, Hamming(7,4) is a linear error-correcting code that encodes four bits of data into seven bits by adding three parity bits. It is a member of a larger family of Hamming codes, but the term Hamming code often refers to this specific code that Richard W. Hamming introduced in 1950. At the time, Hamming worked at Bell Telephone Laboratories and was frustrated with the error-prone punched card reader, which is why he started working on error-correct
IEEE 754-2008 revision
second edition of the IEEE 754 standard for floating-point arithmetic
Bi-quinary coded decimal
numeral encoding scheme
overflow flag
processor flag indicating whether signed arithmetic overflow has occurred
fetch-and-add
In computer science, the fetch-and-add (FAA) CPU instruction atomically increments the contents of a memory location by a specified value.
Aiken code
complementary binary-coded decimal which assigns a group of 4 bits to each decimal digit: 0→0000, 1→0001, 2→0010, 3→0011, 4→0100, 5→1011, 6→1100, 7→1101, 8→1110, 9→1111
GNU MPFR
C library for arbitrary-precision floating-point arithmetic
two-out-of-five code
error-detection code for decimal digits
division algorithm
algorithm for quotient and remainder of integer division
residue number system
arithmetic system
saturation arithmetic
system of computer arithmetic that clamps values to within a fixed range
extended precision
any floating point number format that provides greater precision than 64-bit double
Signedness
In computing, signedness is a property of data types representing numbers in computer programs. A numeric variable is signed if it can represent both positive and negative numbers, and unsigned if it can only represent non-negative numbers (zero or positive numbers).
minifloat
In computing, minifloats are floating-point values represented with very few bits. This reduced precision makes them ill-suited for general-purpose numerical calculations, but they are useful for special purposes such as: Computer graphics, where human perception of color and light levels has low precision. The 16-bit half-precision format is very popular. Machine learning, which can be relatively insensitive to numeric precision. 16-bit, 8-bit, and even 4-bit floats are increasingly being used.