Number Convertor Guide: Convert Between Bases in SecondsA number convertor is an essential tool for programmers, students, engineers, and anyone who works with numeric systems beyond the familiar decimal (base-10). This guide explains number bases, shows how to convert between them quickly and accurately, and provides practical examples and tips so you can convert numbers in seconds — whether manually or using simple code.
What is a Number Base?
A number base (or radix) determines how many unique digits a numeral system uses before “carrying” to the next place value. Common bases include:
- Base-2 (binary): digits 0–1 — used in computers.
- Base-8 (octal): digits 0–7 — historically used in computing.
- Base-10 (decimal): digits 0–9 — the everyday system.
- Base-16 (hexadecimal): digits 0–9 and A–F (10–15) — compact representation of binary.
Each digit’s place value is a power of the base. For example, in decimal, the number 352 means 3×10^2 + 5×10^1 + 2×10^0.
How Conversions Work — Basic Principles
Conversions fall into two main types:
- Converting from any base to decimal (base-10)
- Converting from decimal to any base
- Direct conversion between two non-decimal bases (often done via decimal or binary as an intermediate)
Fundamental methods:
- Use positional notation to expand digits by powers of the base to convert to decimal.
- Use repeated division (or multiplication for fractional parts) to convert from decimal to another base.
- For binary↔hex and binary↔octal, group bits (4 bits per hex digit, 3 bits per octal digit) for quick direct conversion.
Converting From Any Base to Decimal
Method: expand using positional values.
Example: Convert 1A3 (hexadecimal) to decimal.
1A3_hex = 1×16^2 + A×16^1 + 3×16^0 = 1×256 + 10×16 + 3×1 = 256 + 160 + 3 = 419.
Example: Convert 101101_2 (binary) to decimal.
101101_2 = 1×2^5 + 0×2^4 + 1×2^3 + 1×2^2 + 0×2^1 + 1×2^0
= 32 + 0 + 8 + 4 + 0 + 1 = 45.
Converting From Decimal to Another Base
Method: repeated division by the target base; collect remainders from last to first.
Example: Convert decimal 125 to binary.
125 ÷ 2 = 62 remainder 1
62 ÷ 2 = 31 remainder 0
31 ÷ 2 = 15 remainder 1
15 ÷ 2 = 7 remainder 1
7 ÷ 2 = 3 remainder 1
3 ÷ 2 = 1 remainder 1
1 ÷ 2 = 0 remainder 1
Collect remainders bottom-to-top: 1111101_2 → 1111101 (binary).
Example: Convert decimal 419 to hexadecimal.
419 ÷ 16 = 26 remainder 3 → 3
26 ÷ 16 = 1 remainder 10 → A
1 ÷ 16 = 0 remainder 1 → 1
Collect: 1A3_16 → 1A3 (hexadecimal).
Fractional Conversions
For fractional decimal to other base: multiply fractional part by the base, take the integer part as next digit, repeat with new fractional part.
Example: Convert 0.625 (decimal) to binary.
0.625 × 2 = 1.25 → digit 1, carry 0.25
0.25 × 2 = 0.5 → digit 0, carry 0.5
0.5 × 2 = 1.0 → digit 1, carry 0.0
So 0.625_10 = 0.101_2 → 0.101 (binary).
For other-direction fractional conversions (from binary fraction to decimal), expand by negative powers: e.g., 0.101_2 = 1×2^-1 + 0×2^-2 + 1×2^-3 = 0.5 + 0 + 0.125 = 0.625.
Note: Some fractions (like 0.1 in decimal) become repeating in other bases.
Fast Tricks and Shortcuts
-
Binary ↔ Hexadecimal: group binary digits into groups of 4, starting from the radix point. Each group maps to one hex digit (0000 → 0, 1111 → F).
Example: 1011 1100_2 = B C_16 → BC. -
Binary ↔ Octal: group binary digits into groups of 3.
Example: 110 101_2 = 6 5_8 → 65. -
Convert between any two bases by converting first to decimal, then to the target base (often easiest conceptually).
-
Memorize powers of 2, 8, 10, and 16 for quick mental conversions (2^4=16, 2^3=8, 16^2=256, etc.).
Examples — Step-by-Step
- Convert 7F.9 (hex) to binary.
7 = 0111, F = 1111, .9 = .1001 → 01111111.1001_2 → 01111111.1001 (or without leading zero: 1111111.1001).
- Convert 345_8 (octal) to decimal.
3×8^2 + 4×8^1 + 5×8^0 = 3×64 + 4×8 + 5 = 192 + 32 + 5 = 229.
- Convert decimal 229 to hex.
229 ÷ 16 = 14 rem 5 → 5
14 ÷ 16 = 0 rem 14 → E
Result: E5_16.
Sample Code Snippets
Python: convert between bases (integers only)
def int_to_base(n, base): if n == 0: return "0" digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" sign = "-" if n < 0 else "" n = abs(n) res = [] while n: n, r = divmod(n, base) res.append(digits[r]) return sign + "".join(reversed(res)) def base_to_int(s, base): return int(s, base) # Python built-in
JavaScript: decimal to base-n (0 < n ≤ 36)
function intToBase(n, base) { return n.toString(base).toUpperCase(); } function baseToInt(s, base) { return parseInt(s, base); }
Common Pitfalls
- Forgetting to handle negative numbers and fractional parts.
- Misaligning bit groups when doing binary↔hex/oct conversions (pad with leading/trailing zeros).
- Assuming all fractions terminate — many will repeat in other bases.
When to Use Which Base
- Binary when working with low-level computing, bitmasks, or hardware.
- Hexadecimal for compact representation of binary data (memory addresses, color codes).
- Octal occasionally in Unix file permissions and legacy systems.
- Decimal for human-facing numbers, finance, and everyday calculations.
Quick Reference Table
Conversion Task | Fast Method |
---|---|
Binary → Hex | Group bits in 4s |
Binary → Octal | Group bits in 3s |
Any Base → Decimal | Positional expansion |
Decimal → Any Base | Repeated division / multiplication for fractions |
Final Tips
- Practice with examples until grouping and division steps become second nature.
- Use built-in language functions for production code (they handle edge cases).
- For quick manual work, convert via binary for hex/octal, and via decimal for arbitrary bases.
This guide gives you the methods and shortcuts to convert between bases in seconds once you’re comfortable with the steps.
Leave a Reply