Engineering notation or engineering form (also technical notation) is a version of scientific notation in which the exponent of ten is always selected to be divisible by three to match the common metric prefixes, i.e. scientific notation that aligns with powers of a thousand, for example, 531×103 instead of 5.31×105 (but on calculator displays written without the ×10 to save space). As an alternative to writing powers of 10, SI prefixes can be used, which also usually provide steps of a factor of a thousand.
On most calculators, engineering notation is called "ENG" mode as scientific notation is denoted SCI.

History
An early implementation of engineering notation in the form of range selection and number display with SI prefixes was introduced in the computerized HP 5360A frequency counter by Hewlett-Packard in 1969.

Based on an idea by Peter D. Dickinson the first calculator to support engineering notation displaying the power-of-ten exponent values was the HP-25 in 1975. It was implemented as a dedicated display mode in addition to scientific notation.

In 1975, Commodore introduced a number of scientific calculators (like the SR4148/SR4148R and SR4190R) providing a variable scientific notation, where pressing the  and  keys shifted the exponent and decimal point by ±1 in scientific notation. Between 1976 and 1980 the same exponent shift facility was also available on some Texas Instruments calculators of the pre-LCD era such as early SR-40, TI-30 and TI-45 model variants utilizing () instead. This can be seen as a precursor to a feature implemented on many Casio calculators since 1978/1979 (e.g. in the FX-501P/FX-502P), where number display in engineering notation is available on demand by the single press of a () button (instead of having to activate a dedicated display mode as on most other calculators), and subsequent button presses would shift the exponent and decimal point of the number displayed by ±3 in order to easily let results match a desired prefix. Some graphical calculators (for example the fx-9860G) in the 2000s also support the display of some SI prefixes (f, p, n, µ, m, k, M, G, T, P, E) as suffixes in engineering mode.

Overview
Compared to normalized scientific notation, one disadvantage of using SI prefixes and engineering notation is that significant figures are not always readily apparent when the smallest significant digit or digits are 0. For example, 500 µm and  cannot express the uncertainty distinctions between , , and . This can be solved by changing the range of the coefficient in front of the power from the common 1–1000 to 0.001–1.0. In some cases this may be suitable; in others it may be impractical. In the previous example, 0.5 mm, 0.50 mm, or 0.500 mm would have been used to show uncertainty and significant figures. It is also common to state the precision explicitly, such as ""

Another example: when the speed of light (exactly  by the definition of the meter) is expressed as  or  then it is clear that it is between  and , but when using , or , , or the unusual but short , this is not clear. A possibility is using  or .

On the other hand, engineering notation allows the numbers to explicitly match their corresponding SI prefixes, which facilitates reading and oral communication. For example,  can be read as "twelve-point-five nanometers" (10−9 being nano) and written as 12.5 nm, while its scientific notation equivalent  would likely be read out as "one-point-two-five times ten-to-the-negative-eight meters".

Engineering notation, like scientific notation generally, can use the E notation, such that  can be written as 3.0E−9 or 3.0e−9. The E (or e) should not be confused with the exponential e which holds a completely different significance.

{| class="wikitable" style="padding:0; text-align:center; width:0"
! colspan="5" | SI prefixes
|-
!style="text-align:center" colspan="2" | Prefix
!style="text-align:center" colspan="3" | Representations
|-
! style="text-align:center" | Name
! style="text-align:center" | Symbol
! style="text-align:center" | Base 1000
! style="text-align:center" | Base 10
! style="text-align:center" | Value
|-
| quetta
| Q
| style="text-align:left;" | 100010
| style="text-align:left;" |  1030
| style="text-align:right;" | 
|-
| ronna
| R
| style="text-align:left;" | 10009
| style="text-align:left;" |  1027
| style="text-align:right;" | 
|-
| yotta
| Y
| style="text-align:left;" | 10008
| style="text-align:left;" |  1024
| style="text-align:right;" | 
|-
| zetta
| Z
| style="text-align:left;" | 10007
| style="text-align:left;" |  1021
| style="text-align:right;" | 
|-
| exa
| E
| style="text-align:left;" | 10006
| style="text-align:left;" |  1018
| style="text-align:right;" | 
|-
| peta
| P
| style="text-align:left;" | 10005
| style="text-align:left;" |  1015
| style="text-align:right;" | 
|-
| tera
| T
| style="text-align:left;" | 10004
| style="text-align:left;" |  1012
| style="text-align:right;" | 
|-
| giga
| G
| style="text-align:left;" | 10003
| style="text-align:left;" |  109
| style="text-align:right;" |
|-
| mega
| M
| style="text-align:left;" | 10002
| style="text-align:left;" |  106
| style="text-align:right;" | 
|-
| kilo
| k
| style="text-align:left;" | 10001
| style="text-align:left;" |  103
| style="text-align:right;" | 
|- style="background-color:#EEE"
| colspan="2" | 
| style="text-align:left;" | 10000
| style="text-align:left;" |  100
| style="text-align:center;" | 1
|-
| milli
| m
| style="text-align:left;" | 1000−1
| style="text-align:left;" |  10−3
| style="text-align:left;" | 
|-
| micro
| μ
| style="text-align:left;" | 1000−2
| style="text-align:left;" |  10−6
| style="text-align:left;" | 
|-
| nano
| n
| style="text-align:left;" | 1000−3
| style="text-align:left;" |  10−9
| style="text-align:left;" | 
|-
| pico
| p
| style="text-align:left;" | 1000−4
| style="text-align:left;" |  10−12
| style="text-align:left;" | 
|-
| femto
| f
| style="text-align:left;" | 1000−5
| style="text-align:left;" |  10−15
| style="text-align:left;" | 
|-
| atto
| a
| style="text-align:left;" | 1000−6
| style="text-align:left;" |  10−18
| style="text-align:left;" | 
|-
| zepto
| z
| style="text-align:left;" | 1000−7
| style="text-align:left;" |  10−21
| style="text-align:left;" | 
|-
| yocto
| y
| style="text-align:left;" | 1000−8
| style="text-align:left;" |  10−24 
| style="text-align:left;" | 
|-
| ronto
| r
| style="text-align:left;" | 1000−9
| style="text-align:left;" |  10−27 
| style="text-align:left;" | 
|-
| quecto
| q
| style="text-align:left;" | 1000−10
| style="text-align:left;" |  10−30 
| style="text-align:left;" | 
|}

Binary engineering notation
Just like decimal engineering notation can be viewed as a base-1000 scientific notation (103 = 1000), binary engineering notation relates to a base-1024 scientific notation (210 = 1024), where the exponent of two must be divisible by ten. This is closely related to the base-2 floating-point representation (B notation) commonly used in computer arithmetic, and the usage of IEC binary prefixes, e.g. 1B10 for 1 × 210, 1B20 for 1 × 220, 1B30 for 1 × 230, 1B40 for 1 × 240 etc.

See also
 Significant figures
 Scientific notation
 Binary prefix
 International System of Units (SI)
 RKM code

Notes

References

External links
 Engineering Prefix User Defined Function for Excel
 Perl CPAN module for converting number to engineering notation
 Java functions for converting between a string and a double type

Notation, Engineering
Numeral systems
Notation