HOME

TheInfoList



OR:

Offset binary, also referred to as excess-K, excess-''N'', excess-e, excess code or biased representation, is a method for
signed number representation In computing, signed number representations are required to encode negative numbers in binary number systems. In mathematics, negative numbers in any base are represented by prefixing them with a minus sign ("−"). However, in RAM or CPU reg ...
where a signed number n is represented by the bit pattern corresponding to the unsigned number n+K, K being the ''biasing value'' or ''offset''. There is no standard for offset binary, but most often the ''K'' for an ''n''-bit binary word is ''K'' = 2''n''−1 (for example, the offset for a four-digit binary number would be 23=8). This has the consequence that the minimal negative value is represented by all-zeros, the "zero" value is represented by a 1 in the most significant bit and zero in all other bits, and the maximal positive value is represented by all-ones (conveniently, this is the same as using
two's complement Two's complement is the most common method of representing signed (positive, negative, and zero) integers on computers, and more generally, fixed point binary values. Two's complement uses the binary digit with the ''greatest'' value as the ''s ...
but with the most significant bit inverted). It also has the consequence that in a logical comparison operation, one gets the same result as with a true form numerical comparison operation, whereas, in two's complement notation a logical comparison will agree with true form numerical comparison operation if and only if the numbers being compared have the same sign. Otherwise the sense of the comparison will be inverted, with all negative values being taken as being larger than all positive values. The 5-bit
Baudot code The Baudot code () is an early character encoding for telegraphy invented by Émile Baudot in the 1870s. It was the predecessor to the International Telegraph Alphabet No. 2 (ITA2), the most common teleprinter code in use before ASCII. Each ch ...
used in early synchronous multiplexing telegraphs can be seen as an offset-1 (''excess-1'') ''reflected'' binary (Gray) code. One historically prominent example of offset-64 (''excess-64'') notation was in the
floating point In computing, floating-point arithmetic (FP) is arithmetic on subsets of real numbers formed by a ''significand'' (a signed sequence of a fixed number of digits in some base) multiplied by an integer power of that base. Numbers of this form ...
(exponential) notation in the IBM System/360 and System/370 generations of computers. The "characteristic" (exponent) took the form of a seven-bit excess-64 number (The high-order bit of the same byte contained the sign of the
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 s ...
). The 8-bit exponent in
Microsoft Binary Format In computing, Microsoft Binary Format (MBF) is a format for floating-point numbers which was used in Microsoft's BASIC languages, including MBASIC, GW-BASIC and QuickBASIC prior to version 4.00. There are two main versions of the format. The or ...
, a floating point format used in various programming languages (in particular
BASIC Basic or BASIC may refer to: Science and technology * BASIC, a computer programming language * Basic (chemistry), having the properties of a base * Basic access authentication, in HTTP Entertainment * Basic (film), ''Basic'' (film), a 2003 film ...
) in the 1970s and 1980s, was encoded using an offset-129 notation (''excess-129''). The IEEE Standard for Floating-Point Arithmetic (IEEE 754) uses offset notation for the exponent part in each of its various formats of precision. Unusually however, instead of using "excess 2''n''−1" it uses "excess 2''n''−1 − 1" (i.e. ''excess-15'', ''excess-127'', ''excess-1023'', ''excess-16383'') which means that inverting the leading (high-order) bit of the exponent will not convert the exponent to correct two's complement notation. Offset binary is often used in
digital signal processing Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a ...
(DSP). Most analog to digital (A/D) and digital to analog (D/A) chips are unipolar, which means that they cannot handle
bipolar signal In telecommunications, a bipolar signal is a signal A signal is both the process and the result of transmission of data over some media accomplished by embedding some variation. Signals are important in multiple subject fields including si ...
s (signals with both positive and negative values). A simple solution to this is to bias the analog signals with a DC offset equal to half of the A/D and D/A converter's range. The resulting digital data then ends up being in offset binary format. Most standard computer CPU chips cannot handle the offset binary format directly. CPU chips typically can only handle signed and unsigned integers, and floating point value formats. Offset binary values can be handled in several ways by these CPU chips. The data may just be treated as unsigned integers, requiring the programmer to deal with the zero offset in software. The data may also be converted to signed integer format (which the CPU can handle natively) by simply subtracting the zero offset. As a consequence of the most common offset for an ''n''-bit word being 2''n''−1, which implies that the first bit is inverted relative to two's complement, there is no need for a separate subtraction step, but one simply can invert the first bit. This sometimes is a useful simplification in hardware, and can be convenient in software as well. Table of offset binary for four bits, with
two's complement Two's complement is the most common method of representing signed (positive, negative, and zero) integers on computers, and more generally, fixed point binary values. Two's complement uses the binary digit with the ''greatest'' value as the ''s ...
for comparison: Offset binary may be converted into two's complement by inverting the most significant bit. For example, with 8-bit values, the offset binary value may be XORed with 0x80 in order to convert to two's complement. In specialised hardware it may be simpler to accept the bit as it stands, but to apply its value in inverted significance.


Related codes

:z = \frac\left left(\sum_^n p_i \times b_i\right) - k\right/math>


See also

*
Signed number representations In computing, signed number representations are required to encode negative numbers in binary number systems. In mathematics, negative numbers in any base are represented by prefixing them with a minus sign ("−"). However, in RAM or CPU reg ...
*
Binary number A binary number is a number expressed in the Radix, base-2 numeral system or binary numeral system, a method for representing numbers that uses only two symbols for the natural numbers: typically "0" (zero) and "1" (one). A ''binary number'' may ...
* Excess-3 * Excess-128 * Exponent bias * Excess-Gray code *
Ones' complement The ones' complement of a binary number is the value obtained by inverting (flipping) all the bits in the Binary number, binary representation of the number. The name "ones' complement" refers to the fact that such an inverted value, if added t ...
* Binary offset carrier


References


Further reading

* * (NB. Mentions Excess-3, Excess-6, Excess-11, Excess-123.) * (NB. Mentions Excess-25, Excess-250.) * (NB. Mentions Excess-32, Excess-64, Excess-128, Excess-256, Excess-976, Excess-1023, Excess-1024, Excess-2048, Excess-16384.) * {{cite web , title=Computer Arithmetic , author-first=John J. G. , author-last=Savard , date=2018 , orig-year=2005 , work=quadibloc , url=http://www.quadibloc.com/comp/cp02.htm , access-date=2018-07-16 , url-status=live , archive-url=https://web.archive.org/web/20180716102439/http://www.quadibloc.com/comp/cp02.htm , archive-date=2018-07-16 (NB. Mentions Excess-64, Excess-500, Excess-512, Excess-1024.) Numeral systems Binary arithmetic