1. ¿Por qué mi disco de 1 TB tiene 931 GB?
Medio · Componentes Físicos · apuntesdam.com/subject/sistemas/topic/componentes-fisicos
Los fabricantes miden en unidades decimales (1 GB = 10⁹ bytes) y muchos sistemas operativos en binarias (1 GiB = 2³⁰ bytes, aunque Windows lo muestre como «GB»). Cada línea de la entrada es una cantidad y una unidad (B, KB, MB, GB, TB, KiB, MiB, GiB o TiB). Muestra «cantidad unidad = N bytes = X GB = Y GiB», con los bytes como número entero redondeado y X e Y con 2 decimales. Si la unidad no existe, «línea: unidad desconocida».
import sys DECIMAL = {"B": 1, "KB": 10**3, "MB": 10**6, "GB": 10**9, "TB": 10**12}BINARIO = {"KiB": 2**10, "MiB": 2**20, "GiB": 2**30, "TiB": 2**40} # TODO: convierte cada tamaño a bytes, a GB y a GiBEjemplo: Discos y memoria
Entrada
1 TB
512 GB
16 GiB
4.7 GBSalida esperada
1 TB = 1000000000000 bytes = 1000.00 GB = 931.32 GiB
512 GB = 512000000000 bytes = 512.00 GB = 476.84 GiB
16 GiB = 17179869184 bytes = 17.18 GB = 16.00 GiB
4.7 GB = 4700000000 bytes = 4.70 GB = 4.38 GiBEjemplo: Unidades pequeñas
Entrada
1536 KiB
700 MB
1 BSalida esperada
1536 KiB = 1572864 bytes = 0.00 GB = 0.00 GiB
700 MB = 700000000 bytes = 0.70 GB = 0.65 GiB
1 B = 1 bytes = 0.00 GB = 0.00 GiB