OPOSGRATIS

Temario · Matemàtiques

T9. Representació de nombres i operacions en el sistema binari i altres sistemes

Dificultad: Intermedio→ Ver hub de Matemàtiques

📋 **RESUM - Sistemes de Numeració** 🔢 **Sistema posicional:** $N = \sum d_i \cdot b^i$ 📊 **Bases:** - Binari (2): bits 0,1 - Octal (8): 0-7, cada xifra = 3 bits - Hexadecimal (16): 0-F, cada xifra = 4 bits 🔄 **Conversions:** - Decimal → base b: divisions successives - Base b → decimal: suma posicional - Binari ↔ Hex: grups de 4 bits ➖ **Complement a 2:** $-N = \overline{N} + 1$ (negatiu en binari) 💻 **Aplicacions:** adreces memòria, colors RGB, permisos Unix

Desarrollo del tema

# Representació de Nombres i Operacions en el Sistema Binari i Altres Sistemes

## Introducció

Els sistemes de numeració són mètodes per representar nombres mitjançant símbols. El sistema decimal (base 10) és el més familiar, però en informàtica s'utilitzen bases com la binària (2), octal (8) i hexadecimal (16). Comprendre aquests sistemes és essencial per a la programació, l'arquitectura de computadors i la transmissió de dades.

## 1. Sistemes de Numeració Posicionals

### 1.1. Concepte de Base

En un sistema posicional de base $b$, cada xifra $d_i$ té un valor que depèn de la seva posició:

$$N = \sum_{i=-m}^{n} d_i \cdot b^i = d_n b^n + d_{n-1} b^{n-1} + \cdots + d_1 b + d_0 + d_{-1} b^{-1} + \cdots$$

on: - $b$ és la base (nombre de símbols disponibles) - $d_i \in \{0, 1, \ldots, b-1\}$ són les xifres - Les posicions negatives representen la part fraccionària

### 1.2. Bases Comunes

| Base | Nom | Xifres | Ús principal | |------|-----|--------|--------------| | 2 | Binari | 0, 1 | Circuits digitals | | 8 | Octal | 0-7 | Permisos Unix | | 10 | Decimal | 0-9 | Ús quotidià | | 16 | Hexadecimal | 0-9, A-F | Adreces memòria |

### 1.3. Notació

Per distingir bases, s'utilitzen: - Subíndex: $(1010)_2$, $(42)_{10}$, $(2A)_{16}$ - Prefixos: `0b1010` (binari), `0o52` (octal), `0x2A` (hex)

## 2. Sistema Binari (Base 2)

### 2.1. Representació

Només utilitza dos símbols: 0 i 1 (bits).

**Exemple:** $(1011)_2$ en decimal: $$1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 1 \cdot 2^0 = 8 + 0 + 2 + 1 = 11_{10}$$

### 2.2. Potències de 2 (Taula de Referència)

| $2^n$ | Valor | | $2^n$ | Valor | |-------|-------|--|-------|-------| | $2^0$ | 1 | | $2^6$ | 64 | | $2^1$ | 2 | | $2^7$ | 128 | | $2^2$ | 4 | | $2^8$ | 256 | | $2^3$ | 8 | | $2^9$ | 512 | | $2^4$ | 16 | | $2^{10}$ | 1024 (1K) | | $2^5$ | 32 | | $2^{16}$ | 65536 |

## 3. Conversions entre Bases

### 3.1. De Base $b$ a Decimal

Aplicar directament la definició posicional.

**Exemple:** $(A3)_{16}$ a decimal: $$A \cdot 16^1 + 3 \cdot 16^0 = 10 \cdot 16 + 3 = 163_{10}$$

### 3.2. De Decimal a Base $b$ (Part Entera)

**Mètode de divisions successives:** Dividir repetidament per $b$ i recollir els residus en ordre invers.

**Exemple:** $42_{10}$ a binari: $$42 \div 2 = 21 \text{ residu } 0$$ $$21 \div 2 = 10 \text{ residu } 1$$ $$10 \div 2 = 5 \text{ residu } 0$$ $$5 \div 2 = 2 \text{ residu } 1$$ $$2 \div 2 = 1 \text{ residu } 0$$ $$1 \div 2 = 0 \text{ residu } 1$$

Llegint de baix a dalt: $42_{10} = (101010)_2$

### 3.3. De Decimal a Base $b$ (Part Fraccionària)

**Mètode de multiplicacions successives:** Multiplicar per $b$ i recollir les parts enteres.

**Exemple:** $0.625_{10}$ a binari: $$0.625 \times 2 = 1.25 \Rightarrow 1$$ $$0.25 \times 2 = 0.5 \Rightarrow 0$$ $$0.5 \times 2 = 1.0 \Rightarrow 1$$

Resultat: $0.625_{10} = (0.101)_2$

### 3.4. Conversions Binari ↔ Octal

Com $8 = 2^3$, cada xifra octal correspon a **3 bits**.

**Binari → Octal:** Agrupar de 3 en 3 (des del punt decimal).

**Exemple:** $(101110)_2$ $$101 \, | \, 110 = 5 \, | \, 6 = (56)_8$$

**Octal → Binari:** Expandir cada xifra a 3 bits.

**Exemple:** $(37)_8$ $$3 = 011, \quad 7 = 111 \Rightarrow (011111)_2 = (11111)_2$$

### 3.5. Conversions Binari ↔ Hexadecimal

Com $16 = 2^4$, cada xifra hex correspon a **4 bits** (nibble).

**Binari → Hex:** Agrupar de 4 en 4.

**Exemple:** $(11010110)_2$ $$1101 \, | \, 0110 = D \, | \, 6 = (D6)_{16}$$

**Hex → Binari:** Expandir cada xifra a 4 bits.

**Exemple:** $(2F)_{16}$ $$2 = 0010, \quad F = 1111 \Rightarrow (00101111)_2$$

### 3.6. Conversions Octal ↔ Hexadecimal

Es fa passant per binari com a intermediari.

## 4. Operacions en Binari

### 4.1. Suma Binària

Taula de suma: | + | 0 | 1 | |---|---|---| | 0 | 0 | 1 | | 1 | 1 | 10 |

On $1 + 1 = 10_2$ (0 i portem 1).

**Exemple:** ``` 1011 (11) + 0110 (6) ------ 10001 (17) ```

### 4.2. Resta Binària (Directa)

Taula de resta: | - | 0 | 1 | |---|---|---| | 0 | 0 | portem | | 1 | 1 | 0 |

**Exemple:** ``` 1101 (13) - 0101 (5) ------ 1000 (8) ```

### 4.3. Representació de Nombres Negatius

#### Signe-Magnitud

El primer bit indica el signe (0 = positiu, 1 = negatiu). - Problema: Dos zeros ($+0$ i $-0$).

#### Complement a 1

El negatiu s'obté invertint tots els bits. $$-N = \overline{N}$$ - Problema: Encara dos zeros.

#### Complement a 2 (Més Usat)

El negatiu s'obté invertint bits i sumant 1: $$-N = \overline{N} + 1$$

**Avantatges:** - Un únic zero - La suma funciona directament (ignorant l'overflow)

**Rang amb $n$ bits:** $[-2^{n-1}, 2^{n-1} - 1]$ - 8 bits: $[-128, 127]$ - 16 bits: $[-32768, 32767]$

**Exemple (8 bits):** Representar $-5$ - $5 = 00000101$ - Complement a 1: $11111010$ - Complement a 2: $11111010 + 1 = 11111011$

**Verificació:** $11111011 + 00000101 = 100000000$ (ignorant el carry = 0)

### 4.4. Resta per Complement a 2

Per restar $A - B$, es calcula $A + (-B)$: 1. Calcular complement a 2 de $B$ 2. Sumar a $A$ 3. Ignorar el carry final (si existeix)

**Exemple:** $7 - 3$ en 4 bits - $7 = 0111$, $3 = 0011$ - Complement a 2 de 3: $1101$ - $0111 + 1101 = 10100$ - Ignorant carry: $0100 = 4$ ✓

### 4.5. Multiplicació Binària

Com la decimal, però més simple (només multipliquem per 0 o 1):

**Exemple:** $101 \times 11$ ($5 \times 3$) ``` 101 × 11 ----- 101 (101 × 1) 101 (101 × 1, desplaçat) ----- 1111 (15) ```

### 4.6. Divisió Binària

Similar a la divisió llarga decimal.

**Exemple:** $1110 \div 10$ ($14 \div 2$) ``` 111 ----- 10 |1110 10 --- 11 10 --- 10 10 -- 0 ``` Resultat: $111_2 = 7$ amb residu 0.

## 5. Representació de Nombres Decimals

### 5.1. Coma Fixa

Nombre fix de bits per la part entera i fraccionària. - Simple però rang limitat.

### 5.2. Coma Flotant (IEEE 754)

Format: $(-1)^s \times m \times 2^{e-\text{bias}}$

**Simple precisió (32 bits):** | Signe | Exponent | Mantissa | |-------|----------|----------| | 1 bit | 8 bits | 23 bits | | s | e | m |

Bias = 127 per simple precisió.

**Exemple:** Representar $-6.5$ - Signe: 1 (negatiu) - $6.5 = 110.1_2 = 1.101 \times 2^2$ - Exponent: $2 + 127 = 129 = 10000001_2$ - Mantissa: $10100000000000000000000$ (s'omet l'1 inicial)

Resultat: `1 10000001 10100000000000000000000`

## 6. Aplicacions Informàtiques

### 6.1. Adreces de Memòria

Les adreces s'expressen en hexadecimal per compacitat. - Adreça de 32 bits: 8 dígits hex - `0x7FFF0000` és més llegible que 32 bits binaris

### 6.2. Colors RGB

Cada component (R, G, B) usa 8 bits (0-255 o 00-FF): - Blanc: `#FFFFFF` - Negre: `#000000` - Vermell: `#FF0000`

### 6.3. Permisos Unix

Sistema octal: rwxrwxrwx → 3 grups de 3 bits - `chmod 755`: propietari tot (7), grup rx (5), altres rx (5) - $755_8 = 111\,101\,101_2$

### 6.4. Codificació de Caràcters

- **ASCII:** 7 bits, 128 caràcters - **UTF-8:** 1-4 bytes, compatible Unicode - **UTF-16:** 2-4 bytes per caràcter

## 7. Aritmètica Modular i Overflow

Amb $n$ bits, les operacions són mòdul $2^n$:

**Exemple (4 bits sense signe):** $15 + 1$ $$1111 + 0001 = 10000 \equiv 0000 \pmod{2^4}$$

Això és **overflow**: el resultat no cap en $n$ bits.

**Detecció d'overflow (amb signe):** Ocorre quan: - Dos positius donen negatiu - Dos negatius donen positiu

Estudia este tema con OPOSGRATIS

Has leído el desarrollo del tema. Para consolidar tu aprendizaje, estudia las flashcards asociadas con repetición espaciada (algoritmo SM-2), realiza simulacros de examen, y practica el supuesto práctico. Todo gratis y sin registro previo.

Esploratu oposizio gehiago