Scientific Notation and Unit Prefixes: A Complete Reference
Introduction
Scientific notation is the standard way to express very large or very small numbers concisely. Combined with unit prefixes, it forms the foundation of measurement in science, engineering, and computing.
This guide covers scientific notation syntax, SI prefixes, binary prefixes for computing, engineering notation, and how these concepts appear in programming languages.
Scientific Notation Basics
What is Scientific Notation?
Scientific notation expresses numbers as a product of a coefficient and a power of 10:
a × 10ⁿ
Where:
ais the coefficient (1 ≤ |a| < 10, typically)nis the exponent (integer)
Examples
| Standard Form | Scientific Notation | Spoken As |
|---|---|---|
| 300 | 3 × 10² | "three times ten squared" |
| 5,000 | 5 × 10³ | "five times ten cubed" |
| 0.004 | 4 × 10⁻³ | "four times ten to the negative three" |
| 123,000,000 | 1.23 × 10⁸ | "one point two three times ten to the eighth" |
| 0.000000789 | 7.89 × 10⁻⁷ | "seven point eight nine times ten to the negative seventh" |
Normalized Scientific Notation
In normalized form, the coefficient is between 1 and 10 (1 ≤ |a| < 10):
Correct: 3.45 × 10⁶
Incorrect: 34.5 × 10⁵ (not normalized)
Incorrect: 0.345 × 10⁷ (not normalized)
Writing Scientific Notation
In Mathematics and Science
3.0 × 10⁸ (using multiplication symbol and superscript)
3.0e8 (using "e" notation, common in computing)
3.0E8 (capital E, equivalent)
3 × 10^8 (using caret for exponent)
In Computing (Programming Languages)
Most programming languages use e or E to denote the exponent:
# Python
speed_of_light = 3.0e8 # 3.0 × 10⁸
planck_constant = 6.626e-34 # 6.626 × 10⁻³⁴
# JavaScript
const avogadro = 6.022e23;
// Java
double electronCharge = 1.602e-19;
// C/C++
float massElectron = 9.109e-31;
SI Prefixes (Metric System)
SI (Système International) prefixes represent powers of 10 and are used with metric units.
Standard SI Prefixes
| Prefix | Symbol | Power of 10 | Decimal | Example |
|---|---|---|---|---|
| yotta | Y | 10²⁴ | 1,000,000,000,000,000,000,000,000 | YB (yottabyte) |
| zetta | Z | 10²¹ | 1,000,000,000,000,000,000,000 | ZB (zettabyte) |
| exa | E | 10¹⁸ | 1,000,000,000,000,000,000 | EB (exabyte) |
| peta | P | 10¹⁵ | 1,000,000,000,000,000 | PB (petabyte) |
| tera | T | 10¹² | 1,000,000,000,000 | TB (terabyte) |
| giga | G | 10⁹ | 1,000,000,000 | GHz (gigahertz) |
| mega | M | 10⁶ | 1,000,000 | MW (megawatt) |
| kilo | k | 10³ | 1,000 | km (kilometer) |
| hecto | h | 10² | 100 | hPa (hectopascal) |
| deca | da | 10¹ | 10 | dag (decagram) |
| — | — | 10⁰ | 1 | — |
| deci | d | 10⁻¹ | 0.1 | dB (decibel, special) |
| centi | c | 10⁻² | 0.01 | cm (centimeter) |
| milli | m | 10⁻³ | 0.001 | mm (millimeter) |
| micro | μ | 10⁻⁶ | 0.000001 | μm (micrometer) |
| nano | n | 10⁻⁹ | 0.000000001 | nm (nanometer) |
| pico | p | 10⁻¹² | 0.000000000001 | ps (picosecond) |
| femto | f | 10⁻¹⁵ | 0.000000000000001 | fs (femtosecond) |
| atto | a | 10⁻¹⁸ | 0.000000000000000001 | as (attosecond) |
| zepto | z | 10⁻²¹ | 10⁻²¹ | zs (zeptosecond) |
| yocto | y | 10⁻²⁴ | 10⁻²⁴ | ys (yoctosecond) |
Commonly Used SI Prefixes in Computing
| Prefix | Symbol | Value | Typical Use |
|---|---|---|---|
| kilo | k | 10³ | kHz, kB (kilobyte, 1000 bytes) |
| mega | M | 10⁶ | MHz, MB (megabyte, 10⁶ bytes) |
| giga | G | 10⁹ | GHz, GB (gigabyte, 10⁹ bytes) |
| tera | T | 10¹² | TB (terabyte) |
| peta | P | 10¹⁵ | PB (petabyte) |
| micro | μ | 10⁻⁶ | μs (microsecond) |
| nano | n | 10⁻⁹ | ns (nanosecond) |
| pico | p | 10⁻¹² | ps (picosecond) |
Writing the Micro Symbol (μ)
The micro symbol can be challenging to type. Alternatives:
- Copy-paste: μ
- HTML entity:
μ→ μ - Unicode: U+00B5
- LaTeX:
\mu - In plain text, "u" is sometimes used:
umfor micrometer
Binary Prefixes (Computing)
Binary prefixes are based on powers of 2, not 10. They're used in computing where memory and storage are addressed in binary.
Why Binary Prefixes Exist
A "kilobyte" in computing traditionally meant 1024 bytes (2¹⁰), not 1000 bytes (10³). This caused confusion, so the IEC introduced binary prefixes in 1998.
Binary Prefix Table
| Prefix | Symbol | Power of 2 | Value | Decimal Equivalent |
|---|---|---|---|---|
| kibi | Ki | 2¹⁰ | 1,024 | ≈ 1.02 × 10³ |
| mebi | Mi | 2²⁰ | 1,048,576 | ≈ 1.05 × 10⁶ |
| gibi | Gi | 2³⁰ | 1,073,741,824 | ≈ 1.07 × 10⁹ |
| tebi | Ti | 2⁴⁰ | 1,099,511,627,776 | ≈ 1.10 × 10¹² |
| pebi | Pi | 2⁵⁰ | 1,125,899,906,842,624 | ≈ 1.13 × 10¹⁵ |
| exbi | Ei | 2⁶⁰ | 1,152,921,504,606,846,976 | ≈ 1.15 × 10¹⁸ |
SI vs Binary Prefix Comparison
| Quantity | SI Prefix (10ⁿ) | Binary Prefix (2ⁿ) | Difference |
|---|---|---|---|
| 1000 bytes | 1 kB (kilobyte) | 1 KiB (kibibyte) | ~2.4% |
| 1,000,000 bytes | 1 MB (megabyte) | 1 MiB (mebibyte) | ~4.9% |
| 1,000,000,000 bytes | 1 GB (gigabyte) | 1 GiB (gibibyte) | ~7.4% |
| 1,000,000,000,000 bytes | 1 TB (terabyte) | 1 TiB (tebibyte) | ~10% |
Which Should You Use?
- Storage manufacturers: Use SI prefixes (1 TB = 10¹² bytes) — it makes drives sound bigger
- RAM/memory: Use binary prefixes (8 GiB = 2³⁰ × 8 bytes) — it's technically correct
- Network speeds: Use SI prefixes (1 Gbps = 10⁹ bits per second) — standard for networking
- File sizes in OS: Varies — Windows uses "KB" but means KiB; macOS uses proper SI
Engineering Notation
Engineering notation is a variant of scientific notation where the exponent is a multiple of 3, keeping the coefficient between 1 and 1000.
Why Use Engineering Notation?
It aligns with SI prefixes, making it easier to read engineering values.
Examples
| Number | Scientific Notation | Engineering Notation | With SI Prefix |
|---|---|---|---|
| 123,000 | 1.23 × 10⁵ | 123 × 10³ | 123 k |
| 0.00456 | 4.56 × 10⁻³ | 4.56 × 10⁻³ | 4.56 m |
| 7,890,000 | 7.89 × 10⁶ | 7.89 × 10⁶ | 7.89 M |
| 0.000000092 | 9.2 × 10⁻⁸ | 92 × 10⁻⁹ | 92 n |
Scientific Notation in Programming
Python
# Writing numbers in scientific notation
planck = 6.626e-34
speed_of_light = 3e8
# Converting to/from scientific notation
print(f"{planck:.2e}") # "6.63e-34"
print(f"{speed_of_light:.2e}") # "3.00e+08"
# Parsing scientific notation from strings
num = float("1.23e-4") # 0.000123
# Using with format specifiers
value = 1234567
print(f"{value:e}") # "1.234567e+06"
JavaScript
// Scientific notation literals
const avogadro = 6.022e23;
const electronMass = 9.109e-31;
// toExponential() method
const num = 1234567;
console.log(num.toExponential(2)); // "1.23e+6"
// Parsing
const parsed = parseFloat("1.23e-4"); // 0.000123
Java
// Scientific notation in literals
double planck = 6.626e-34;
// Formatting
System.out.printf("%.2e%n", planck); // "6.63e-34"
// Using BigDecimal for precision
BigDecimal precise = new BigDecimal("1.23e-4");
C/C++
// Scientific notation in literals
double speed_of_light = 3.0e8;
// printf formatting
printf("%.2e\n", speed_of_light); // "3.00e+08"
// Using scientific notation in scanf
double value;
scanf("%le", &value); // Reads "1.23e-4" format
Common Constants in Scientific Notation
| Constant | Symbol | Value (Scientific Notation) |
|---|---|---|
| Speed of light | c | 2.998 × 10⁸ m/s |
| Planck constant | h | 6.626 × 10⁻³⁴ J·s |
| Gravitational constant | G | 6.674 × 10⁻¹¹ N·m²/kg² |
| Electron charge | e | 1.602 × 10⁻¹⁹ C |
| Electron mass | mₑ | 9.109 × 10⁻³¹ kg |
| Avogadro's number | Nₐ | 6.022 × 10²³ mol⁻¹ |
| Boltzmann constant | k | 1.381 × 10⁻²³ J/K |
| Standard atmosphere | atm | 1.013 × 10⁵ Pa |
Practical Examples
Example 1: Converting to Scientific Notation
Convert 0.0000000567 to scientific notation:
- Move decimal point 8 places to the right: 5.67
- Since we moved right, exponent is negative: 10⁻⁸
- Result: 5.67 × 10⁻⁸
Example 2: Converting from Scientific Notation
Convert 3.21 × 10⁵ to standard form:
- Move decimal point 5 places to the right: 321000
- Result: 321,000
Example 3: Multiplication with Scientific Notation
(2 × 10³) × (3 × 10⁴) = ?
- Multiply coefficients: 2 × 3 = 6
- Add exponents: 10³ × 10⁴ = 10⁷
- Result: 6 × 10⁷
Example 4: Computing Context
A hard drive is 2 TB (SI) vs 2 TiB (binary):
- 2 TB = 2 × 10¹² = 2,000,000,000,000 bytes
- 2 TiB = 2 × 2⁴⁰ = 2,199,023,255,552 bytes
- Difference: ~199 billion bytes (~199 GB "missing" in SI)
Quick Reference
Powers of 10 (Memorize These)
10⁻³ = 0.001 = milli (m)
10⁻² = 0.01 = centi (c)
10⁻¹ = 0.1 = deci (d)
10⁰ = 1
10¹ = 10 = deca (da)
10² = 100 = hecto (h)
10³ = 1000 = kilo (k)
10⁶ = 1,000,000 = mega (M)
10⁹ = 1,000,000,000 = giga (G)
10¹² = 1,000,000,000,000 = tera (T)
Powers of 2 (Computing)
2¹⁰ = 1,024 ≈ 10³ (kibi)
2²⁰ = 1,048,576 ≈ 10⁶ (mebi)
2³⁰ = 1,073,741,824 ≈ 10⁹ (gibi)
2⁴⁰ ≈ 10¹² (tebi)
Related Tools
- Unit Converter - Convert between various units and formats