59 cards generated

Lưu bộ thẻ trước khi nó biến mất

Các flashcard này chưa được lưu — chúng sẽ biến mất khi bạn rời đi. Tạo tài khoản miễn phí để giữ lại và mở khóa mọi thứ bên dưới.

Lưu & ôn
  • Save this deck to your account
  • Study with spaced repetition
  • Export to Anki (.apkg) or PDF
Tạo nhiều hơn & tốt hơn
  • Process documents up to 100 pages
  • Images extracted from your PDFs
  • Sharper text extraction & a more advanced AI model
Sign up free → Free forever · No credit card

Flashcards in this deck (59)

Đang tìm...
  • ¿Con qué unidad básica trabajan las computadoras para representar números?


    • Bits (0/1)
    aritmetica bits
  • ¿Qué aspectos hay que definir para que una computadora maneje números?


    • Representación (sistemas numéricos)
    • Representación de negativos (con/sin signo)
    • Operaciones (ALU)
    • Multiplicación/división (hardware/velocidad)
    • Representación de decimales (punto flotante)
    • Errores y aproximaciones
    conceptos representacion
  • ¿Qué es el sistema binario?


    • Sistema base 2 que usa solo los dígitos 0 y 1
    binario sistemas
  • Convierte \(1011_2\) a decimal según el ejemplo.


    \(1011_2 = 1\cdot2^3 + 0\cdot2^2 + 1\cdot2^1 + 1\cdot2^0 = 8 + 0 + 2 + 1 = 11\)

    binario conversion
  • ¿Qué base tiene el sistema hexadecimal?


    • Base 16
    hexadecimal sistemas
  • ¿Qué operaciones enumera la ALU en el texto?


    • Suma, resta, AND, OR
    alu operaciones
  • ¿Cómo describe el texto la implementación de multiplicación y división en hardware?


    • Son más lentas y requieren más hardware
    multiplicacion division
  • ¿Cómo se representan los números con decimales según el texto?


    • Mediante punto flotante
    puntoflotante decimales
  • ¿Por qué a veces los resultados numéricos no son exactos?


    • Debido a aproximaciones
    errores aproximacion
  • ¿Qué opciones menciona el texto para representar números negativos en computadoras?


    • Con signo o sin signo
    negativos representacion
  • ¿Qué significa el número hexadecimal '2F' en decimal?


    \(2F_{16} = 2\cdot16^{1} + 15\cdot16^{0} = 32 + 15 = 47\)

    hexadecimal conversion
  • ¿Por qué se usa hexadecimal en computadoras?


    Porque es un atajo para binario: cada dígito hexadecimal representa 4 bits

    hexadecimal binario
  • ¿Cuántos bits representa 1 dígito hexadecimal?


    Un dígito hexadecimal = 4 bits

    hexadecimal bits
  • Convierte el binario 11010110₂ a hexadecimal según el ejemplo.


    Se separa en 4 bits: 1101 0110 → D6_{16}

    binario hexadecimal
  • ¿Qué es una ALU (Arithmetic Logic Unit)?


    La ALU es la parte de la CPU que realiza operaciones aritméticas y lógicas como suma, resta, AND, OR, XOR y NOT

    alu cpu
  • ¿Cómo realiza la ALU comparaciones como >, <, == ?


    Realiza comparaciones usando internamente la resta

    alu comparacion
  • ¿Qué entradas y salidas básicas tiene una ALU?


    • Entradas: A, B (bits)
    • Señales de control: indica la operación
    • Salidas: Resultado
    • Banderas: zero, carry, overflow, negativo
    alu arquitectura
  • ¿Qué hacen las señales de control en una ALU?


    Las señales de control especifican qué operación debe realizar la ALU (por ejemplo SUMA o AND).

    alu control
  • Ejemplo: si la ALU recibe el control 'SUMA' o 'AND', ¿qué realiza?


    • Si control = SUMA → realiza A + B
    • Si control = AND → realiza A AND B
    alu operaciones
  • ¿Qué realiza un sumador completo (full adder) de 1 bit?


    Suma bitA + bitB + carry_in y produce bit_resultado y carry_out.

    sumador digital
  • ¿Cómo se construyen sumadores de mayor tamaño a partir del full adder?


    Se conectan varios full adders en serie para lograr sumadores de 8, 16, 32, 64 bits, etc.

    sumador escalado
  • ¿Cuál es la característica de los enteros sin signo (unsigned)?


    En enteros sin signo todos los bits representan la magnitud del número (no hay bit de signo).

    enteros unsigned
  • Ejemplo con 4 bits para enteros unsigned: ¿cuál es el valor mínimo?


    Con 4 bits, el mínimo es 0000 = 0.

    enteros ejemplo
  • ¿Qué valor representa el binario 1111 en decimal según el ejemplo?


    • 1111 = 15
    binario ejemplo
  • ¿Cuál es el rango de valores para enteros sin signo con \(n\) bits?


    De 0 a \(2^{n}-1\)

    unsigned rango
  • ¿Cuál es el rango de valores para enteros con signo (complemento a 2) con \(n\) bits?


    De \(-2^{n-1}\) a \(2^{n-1}-1\)

    signed rango twoscomplement
  • ¿Cuál es el rango de enteros con signo usando complemento a 2 para 4 bits?


    De -8 a +7

    ejemplo 4bits
  • ¿Cuáles son los pasos para obtener el valor negativo -X en complemento a 2?


    • Escribir X en binario
    • Invertir los bits (NOT)
    • Sumar 1
    twoscomplement procedimiento
  • En el ejemplo para representar -3 en 4 bits, ¿cómo se ve +3 y su inversión?


    • +3 = 0011
    • Invertir bits = 1100
    ejemplo twoscomplement
  • ¿Qué valor decimal representa el binario 1101 según el texto?


    -3

    binario complemento
  • ¿Cómo se expresa la resta A - B en términos de suma y complemento a 2?


    A - B = A + (complemento a 2 de B)

    resta complemento
  • En el ejemplo de suma binaria, ¿cuál es el resultado de 5 + 3 en binario y decimal?


    • Binario: 0101 + 0011 = 1000
    • Decimal: 8
    suma binario
  • ¿Cuál es el procedimiento para obtener el complemento a dos de un número binario?


    • Invertir todos los bits (NOT)
    • Sumar 1 al resultado
    twos-complement binario
  • Si invertimos 0011, ¿qué resultado obtenemos antes de sumar 1?


    0011 invertido = 1100

    ejemplo inversión
  • Aplicando complemento a dos a 0011, ¿cuál es el resultado final?


    • Invertir 0011 → 1100
    • +1 → 1101 Resultado = 1101
    twos-complement ejemplo
  • En el ejemplo de suma: 0101 + 1101 con carry final, ¿qué se hace con el carry extra?


    Se descarta el carry extra de la izquierda; resultado = 0010 (2)

    suma carry
  • ¿Cuál es la regla de la operación lógica AND (bit a bit)?


    AND da 1 solo si ambos bits son 1. Ejemplo: 1100 AND 1010 = 1000

    and lógica
  • ¿Cuál es la regla de la operación lógica OR (bit a bit)?


    OR da 1 si al menos uno de los bits es 1. Ejemplo: 1100 OR 1010 = 1110

    or lógica
  • ¿Cuál es la regla de la operación lógica XOR (bit a bit)?


    XOR da 1 si los bits son diferentes. Ejemplo: 1100 XOR 1010 = 0110

    xor lógica
  • ¿Qué hace la operación lógica NOT sobre un conjunto de bits?


    NOT invierte los bits. Ejemplo: NOT 1100 = 0011

    not lógica
  • ¿Para qué se usan estas operaciones binarias en sistemas informáticos?


    • Máscaras
    • Flags
    • Permisos
    uso bits
  • ¿Cuál es la idea básica de la multiplicación en binario?


    Multiplicar en binario es similar al decimal: usar sumas y shifts para acumular productos parciales según los bits del multiplicador.

    multiplicación binario
  • ¿Qué significa 'shift left' en operaciones binarias?


    El 'shift left' desplaza bits hacia la izquierda y equivale a multiplicar por \(2\).

    shift operaciones
  • ¿Cuál es el algoritmo básico para multiplicar dos números binarios?


    • Recorres los bits del multiplicador
    • Si un bit es 1, sumas el multiplicando desplazado (shift) correspondiente
    algoritmo multiplicación
  • ¿Cuál es la idea básica de la división en binario?


    La división se realiza mediante restas repetidas combinadas con shifts; produce cociente y residuo.

    división binario
  • ¿Por qué se necesita la representación de punto flotante en computadoras?


    • Porque el binario fijo (enteros) no maneja bien: 0.1, 3.14159, números muy grandes o muy pequeños
    puntoflotante motivo
  • ¿Cuál es la forma general de un número en punto flotante?


    • \((-1)^{signo}\times 1.mantisa\times 2^{exponente}\)
    puntoflotante formula
  • ¿Qué componentes tiene la representación de punto flotante según la forma general?


    • signo
    • mantisa
    • exponente
    puntoflotante componentes
  • ¿Qué valores puede tomar el campo 'signo' en el ejemplo conceptual?


    • + / -
    puntoflotante signo
  • ¿Qué formatos estándar IEEE 754 se mencionan y cuántos bits usan?


    • 32 bits (float)
    • 64 bits (double)
    ieee754 formatos
  • ¿Qué indica el 'exponente' en la representación de punto flotante?


    • Indica qué tan grande o pequeño es el número
    puntoflotante exponente
  • ¿Qué indica la 'mantisa' en la representación de punto flotante?


    • Indica la precisión del número
    puntoflotante mantisa
  • ¿Por qué muchas computadoras no pueden representar algunos números exactamente?


    • Porque en binario ciertas fracciones son periódicas e infinitas, por lo que se guarda una aproximación
    aproximaciones binario
  • Da un ejemplo clásico de un número decimal que no se representa exactamente en binario.


    • \(0.1\) en binario es infinito, similar a que \(\frac{1}{3}\) es infinito en decimal
    ejemplo binario
  • ¿Qué tipo de resultado raro puede producirse por aproximaciones en punto flotante?


    • Errores de redondeo como \(0.1 + 0.2 = 0.3000000000004\)
    errores redondeo
  • ¿Qué es el 'overflow' en cálculo numérico?


    • Número demasiado grande para los bits disponibles
    errores overflow
  • ¿Qué es el 'underflow' en cálculo numérico?


    • Número demasiado pequeño y se redondea a 0
    errores underflow
  • ¿Qué significa 'rounding' según las notas?


    • Redondeo en la mantisa
    errores rounding
  • ¿Qué es 'loss of significance' según las notas?


    • Restar números muy parecidos y perder precisión
    errores precision
Ghi chú học tập

3. Aritmética para computadoras — Notas clave

Idea central

  • Las computadoras procesan bits (0/1), no "números" humanos; hace falta definir representación y operaciones básicas.
  • Temas principales: sistemas numéricos, enteros con/sin signo, ALU, multiplicación/división, punto flotante y errores por aproximación.

Sistemas numéricos

Binario (base 2)

  • Usa dígitos 0 y 1.
  • Ejemplo de valor: \(1011_2 = 1\cdot 2^3 + 0\cdot 2^2 + 1\cdot 2^1 + 1\cdot 2^0 = 8 + 0 + 2 + 1 = 11\).

Hexadecimal (base 16)

  • Dígitos 0–9 y A–F (A=10 … F=15).
  • Ejemplo: \(2F_{16} = 2\cdot 16^1 + 15\cdot 16^0 = 32 + 15 = 47\).
  • Razón de uso: cada dígito hex representa exactamente 4 bits (nibble). Ejemplo: \(1101\ 0110_2 \to D6_{16}\).

Diseño general de una ALU

¿Qué hace la ALU?

  • ALU = Arithmetic Logic Unit: ejecuta suma, resta, operaciones lógicas (AND, OR, XOR, NOT) y comparaciones.
  • Produce además flags: zero, carry, overflow, negativo, usados por la CPU para control de flujo.

Estructura básica

  • Recibe: entrada A, entrada B y señales de control (seleccionan la operación).
  • Muchas operaciones se basan en sumadores de bits: conectar sumadores de 1 bit (full adders) en cadena permite n bits.
  • Ecuaciones útiles del full adder:
  • Resultado de bit: \(s = a \oplus b \oplus c_{in}\)
  • Carry out: \(c_{out} = (a\land b) \lor (c_{in}\land (a\oplus b))\)

Enteros: sin signo y con signo

Enteros sin signo (unsigned)

  • Todos los bits representan magnitud.
  • Con \(n\) bits el rango es: \(0\) a \(2^n - 1\).
  • Ejemplo 4 bits: rango \(0\) a \(2^4-1 = 15\).

Enteros con signo — Complemento a 2

  • Método estándar para negativos: two's complement.
  • Rango con \(n\) bits: \(-2^{n-1}\) a \(2^{n-1}-1\) (por ejemplo 4 bits: \(-8\) a \(+7\)).
  • Para obtener \(-X\): invertir bits de \(X\) (NOT) y sumar 1.
  • Ejemplo: \(+3 = 0011_2\) → invertir \(1100_2\) → sumar 1 → \(1101_2\) (que representa \(-3\) en 4 bits).

Suma, resta y operaciones lógicas

Suma binaria

  • Igual que en decimal pero con base 2; se propaga carry.
  • Ejemplo: \(5 = 0101_2\), \(3 = 0011_2\)\(0101_2 + 0011_2 = 1000_2 = 8\).

Resta usando complemento a 2

  • La CPU suele hacer \(A - B\) como \(A + (\text{two's complement de }B)\).
  • Ejemplo: \(5 - 3\):
  • \(3 = 0011_2\) → complemento a 2 → \(1101_2\).
  • \(0101_2 + 1101_2 = 1\,0010_2\); se descarta el carry más significativo → \(0010_2 = 2\).

Operaciones lógicas bit a bit

  • AND: 1 sólo si ambos son 1. Ej: \(1100\ \text{AND}\ 1010 = 1000\).
  • OR: 1 si alguno es 1. Ej: \(1100\ \text{OR}\ 1010 = 1110\).
  • XOR: 1 si difieren. Ej: \(1100\ \text{XOR}\ 1010 = 0110\).
  • NOT: invierte bits. Ej: \(\text{NOT }1100 = 0011\).
  • Uso práctico: máscaras, banderas, permisos y operaciones bitwise eficientes.

Multiplicación y División

Multiplicación

  • En binario es suma de desplazamientos (shifts) según bits del multiplicador.
  • Shift left equivale a multiplicar por 2: \(x \ll 1 = 2x\).
  • Algoritmo básico: por cada bit 1 en el multiplicador sumar multiplicando desplazado.
  • Requiere más ciclos o hardware especializado para mayor velocidad.

División

  • Se hace con restas repetidas y shifts (algoritmo parecido a la división larga).
  • Produce cociente y residuo; es más lenta que suma o multiplicación simple.

Punto flotante (representación de reales)

  • Necesario para representar fracciones y rangos muy grandes/pequeños.
  • Formato tipo notación científica: \((-1)^{\text{sign}} \times 1.\text{mantisa} \times 2^{\text{exponente}}\).
  • Estándar IEEE 754: formatos comunes son 32 bits (float) y 64 bits (double).
  • Mantisa determina precisión; exponente determina magnitud.

Aproximaciones y errores numéricos

Idea clave

  • Muchos números decimales no tienen representación finita en binario (ej. \(0.1\)), por lo que se almacenan aproximaciones.
  • Errores posibles:
  • Rounding (redondeo) al ajustar la mantisa.
  • Overflow: número excede el rango máximo representable.
  • Underflow: número demasiado pequeño, se aproxima a 0 o subnormal.
  • Loss of significance: pérdida de precisión al restar números muy parecidos.

  • Ejemplo de efecto: \(0.1 + 0.2 \approx 0.3000000000004\) (no exactamente \(0.3\) por representación binaria limitada).

Buenas prácticas y recordatorios

  • Prefiere tipos adecuados: usar double si necesitas precisión; cuidado con conversiones entre tipos.
  • Usa operaciones numéricas estables (algoritmos que minimicen pérdidas por cancelación).
  • Comprende flags y límites del hardware (overflow, carry) para depurar errores en cálculos enteros.
  • Para comparaciones de reales, evita igualdad exacta: compara con una tolerancia (\(|a-b|<\varepsilon\)).

Resumen rápido

  • Bits y representaciones determinan cómo la CPU realiza operaciones; dos's complement y IEEE 754 son fundamentales.
  • Operaciones básicas: suma/resta con sumadores, lógicas bit a bit, multiplicación por shifts, división por restas/ shifts.
  • La representación limitada causa errores de redondeo, overflow y underflow; diseñar algoritmos numéricos con esto en cuenta.