> ## Documentation Index
> Fetch the complete documentation index at: https://programming-for-career.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Number Systems

> A comprehensive guide to number systems, their types, conversions, and importance in computing.

## What is a Number System?

A **number system** is a mathematical way of representing numbers using a specific base. Computers use different number systems to process, store, and transfer data efficiently. The most commonly used number systems in computing include:

## Types of Number Systems

### 1. Decimal (Base-10)

* The standard number system used in everyday life.
* Uses digits **0-9**.
* Example: `472` in decimal represents `(4 × 10²) + (7 × 10¹) + (2 × 10⁰) = 472`.

### 2. Binary (Base-2)

* The fundamental number system for computers.
* Uses only **0 and 1**.
* Example: `1011` in binary represents `(1 × 2³) + (0 × 2²) + (1 × 2¹) + (1 × 2⁰) = 11` in decimal.

### 3. Octal (Base-8)

* Uses digits **0-7**.
* Commonly used as a shorthand for binary.
* Example: `57` in octal represents `(5 × 8¹) + (7 × 8⁰) = 47` in decimal.

### 4. Hexadecimal (Base-16)

* Uses digits **0-9** and letters **A-F** (where A=10, B=11, ..., F=15).
* Used in memory addressing, networking (MAC addresses), and color codes in web design.
* Example: `2F` in hexadecimal represents `(2 × 16¹) + (F × 16⁰) = 47` in decimal.

## Number System Conversions

### Decimal to Binary

1. Divide the decimal number by `2`.
2. Record the remainder.
3. Repeat until the quotient is `0`.
4. Read the remainders **in reverse order**.

Example: Convert `13` to binary:

```plaintext theme={null}
13 ÷ 2 = 6, remainder = 1
6 ÷ 2 = 3, remainder = 0
3 ÷ 2 = 1, remainder = 1
1 ÷ 2 = 0, remainder = 1
Binary: **1101**
```

### Binary to Decimal

Multiply each bit by `2^n` (where `n` is its position from right, starting at `0`), then sum the results.

Example: Convert `1101` to decimal:

```plaintext theme={null}
(1 × 2³) + (1 × 2²) + (0 × 2¹) + (1 × 2⁰)
= 8 + 4 + 0 + 1 = **13**
```

### Hexadecimal to Binary

Replace each hex digit with its **4-bit binary equivalent**.

Example: Convert `2F` to binary:

```plaintext theme={null}
2  →  0010
F  →  1111
Binary: **00101111**
```

### Octal to Binary

Replace each octal digit with its **3-bit binary equivalent**.

Example: Convert `57` to binary:

```plaintext theme={null}
5 → 101
7 → 111
Binary: **101111**
```

## Importance of Number Systems in Computing

* **Binary** is the language of computers (1s and 0s).
* **Octal & Hexadecimal** simplify binary representation.
* **Decimal** is used in high-level programming and user interactions.
* **Efficient Data Processing**: Different systems help optimize memory storage and computation.

## Real-World Applications

* **Computer Memory & Storage**: Data is stored in binary.
* **Networking**: IP addresses and MAC addresses use hexadecimal.
* **Programming**: Low-level languages (e.g., Assembly) work with different number systems.
* **Digital Electronics**: Logic gates operate using binary.

Understanding number systems is fundamental for computer science, programming, and electronics. Mastering conversions and operations across these systems is essential for working with low-level data structures and memory management!
