Convertir GiB a KiB

GiB
1048576KiB

1 GiB = 1048576 KiB

Escribe un valor y la conversión de gibibyte a kibibyte se actualiza mientras tecleas. El factor es exactamente 1048576: eso es lo que corresponde en KiB a 1 GiB. El cálculo se hace en tu propio dispositivo; después de cargar, esta página no vuelve a consultar ningún servidor.

  • Dónde se ejecuta En tu navegador. Lo que escribes no llega a formar parte de ninguna petición.
  • Exacto por definición 1 GiB son exactamente 1048576 KiB: fijado, no redondeado.
  • Responde mientras escribes Sin botón y sin esperas. La respuesta calculada está en la página antes de que se ejecute ningún script.

gibibyte a kibibyte: ejemplos reales

  • 8 GiB is 8389000 KiB

    — la memoria de un portátil de gama media.

  • 931 GiB is 976200000 KiB

    — lo que Windows muestra para un disco de un terabyte.

  • 0,0004883 GiB is 512 KiB

    — medio mebibyte.

  • 0,000003815 GiB is 4 KiB

    — una página de memoria en casi todos los sistemas.

gibibyte a kibibyte de un vistazo

Cada número de esta tabla se calcula a partir de la misma definición que la respuesta de arriba, así que la tabla no puede desviarse de ella.
GiBKiB
11048576
22097152
55242880
1010485760
5052428800
100104857600
500524288000
10001048576000

gibibyte y kibibyte

Un gibibyte son 1.073.741.824 bytes, alrededor de un 7 % más que un gigabyte. Windows mide en gibibytes pero los etiqueta «GB», y en eso consiste todo el misterio del espacio que desaparece.

Un kibibyte son exactamente 1.024 bytes. El nombre se introdujo en 1998 para que «kilobyte» pudiera volver a significar 1.000, aunque la costumbre nunca llegó a imponerse del todo.

Un gibibyte son exactamente 1.048.576 kibibytes

En este sentido la cuenta es una multiplicación, y por un número entero: un gibibyte son 1.048.576 kibibytes, exactamente, y 1.048.576 es la definición, no una medición que se quedó cerca.

Eso convierte esta en una de las pocas conversiones que merece la pena hacer de cabeza, y hace que el resultado se pueda comprobar: divide de vuelta y tienes que caer en el número de partida, exacto y sin resto que justificar.

GiB es la binaria

Un GiB son 1.024 de la unidad de debajo; un GB, 1.000. En esta página eso es la diferencia entre 1048576 KiB y 976562,5 KiB —un 7,4 %—, y la distancia crece en cada escalón: por eso es un redondeo despreciable en una foto y un trozo visible de un disco duro.

En eso consiste entero el misterio del espacio que falta, y en esta página vale un 7,4 %. Un disco vendido en GB tiene exactamente lo que dice la etiqueta; lo que pasa después es que Windows divide entre 1.024 en vez de entre 1.000, conserva el nombre decimal y muestra 976562,5 KiB donde la caja ponía 1048576 KiB. macOS cuenta estas cifras en unidades decimales desde 10.6, y por eso el mismo disco puede parecer de dos tamaños en dos ordenadores: no falta nada ni redondea nadie, son los mismos bytes con dos nombres.

Las herramientas de particionado no cuentan en gibibytes

Una tabla de particiones guarda el inicio y la longitud en sectores. LVM reparte el disco en extents físicos. mdadm define el tamaño de chunk en kibibytes. mkfs pide un número de bloques. Ninguna de ellas habla en gibibytes, así que cualquier planificación de disco pasa por convertir el tamaño que se tiene pensado al menos una vez, y normalmente a dos unidades distintas dentro de la misma sesión de trabajo.

Las tres cifras que conviene tener a mano son 1.048.576 KiB, 2.097.152 sectores de 512 bytes y 262.144 bloques de 4 KiB por gibibyte. Las tres son potencias de dos exactas, lo que es cómodo y también el motivo por el que un error de un factor de dos pasa desapercibido: sigue dando un número redondo, y solo se nota al compararlo con la capacidad total del disco.

Por qué la primera partición empieza en el sector 2048

Durante años la primera partición de un disco de PC empezaba en el sector 63, herencia de una geometría de cilindros que ya no existía en el hardware real. Sesenta y tres es impar, así que cada límite calculado a partir de él también lo era, y cuando los discos pasaron a sectores físicos de 4 KiB manteniendo sectores lógicos de 512 bytes, cada bloque del sistema de archivos quedaba a caballo entre dos sectores físicos.

Empezar en el sector 2048 —exactamente un mebibyte— resuelve el problema porque ese desplazamiento es múltiplo de todas las granularidades habituales: sectores físicos de 4 KiB, páginas flash de 8 KiB o más, chunks de RAID de 512 KiB, extents de LVM de 4 MiB. El coste es un mebibyte de disco, que a escala de gibibytes es insignificante, y prácticamente todas las herramientas actuales lo aplican por defecto.

El coste real de un desalineamiento en kibibytes

La penalización se llama read-modify-write y afecta a la escritura, no a la lectura. Un disco con sectores físicos de 4 KiB no puede escribir menos que uno entero, así que un bloque de 4 KiB que cae a caballo entre dos obliga a la unidad a leer ambos, fusionar los datos nuevos y volver a escribir los dos. En SSD el equivalente es el bloque de borrado, y la amplificación es mayor porque el controlador tiene que reubicar y borrar mucho más de lo que se escribió.

Nada de esto aparece en la capacidad del disco ni en un df: el volumen funciona y muestra el tamaño correcto. Se manifiesta como un rendimiento de escritura aleatoria muy por debajo del que promete el fabricante y como un desgaste prematuro del SSD. Comprobarlo es rápido: parted /dev/sda align-check optimal 1 responde directamente.

Extents de LVM y chunks de RAID, un nivel por encima del kibibyte

LVM asigna por extents físicos de 4 MiB por defecto, así que un volumen lógico de 100 GiB son 25.600 extents, y cualquier tamaño que no sea múltiplo de 4.096 KiB se redondea hacia arriba hasta serlo. Por eso lvcreate -L 10G y lvcreate -L 10GiB pueden dar volúmenes de tamaños distintos: uno interpreta gigabytes decimales y el otro gibibytes, y solo el segundo coincide con lo que suele querer un administrador.

mdadm añade otra capa: el chunk por defecto son 512 KiB, y una franja sobre n discos de datos ocupa n chunks, así que un RAID 5 de cinco discos tiene una franja de 2 MiB. mkfs.ext4 acepta stride y stripe-width en bloques del sistema de archivos, y ajustarlos bien permite que una escritura de franja completa evite la lectura de paridad.

Dar el tamaño con sufijo y dejar que la herramienta convierta

La costumbre que evita errores es escribir la unidad y dejar que la herramienta haga la conversión. parted acepta KiB, MiB, GiB y TiB explícitamente, y con -a optimal coloca el límite en la granularidad adecuada sin que se le indique. sfdisk acepta sufijos K, M y G, que son binarios. mkfs.ext4, en cambio, pide un número de bloques, así que un tamaño en gibibytes hay que convertirlo a 262.144 bloques por GiB, y equivocarse en esa cifra produce un sistema de archivos que cabe en la partición y no la llena.

Donde el número entero es inevitable, conviene dejar la cifra en gibibytes anotada al lado, en un comentario o en el mensaje de commit. Un script de particionado lleno de números como 2097152 o 209715200 es correcto y completamente opaco, y la próxima persona que lo toque convertirá uno de ellos y se olvidará del otro.

Lo que un GiB de partición deja realmente disponible

Una partición de 100 GiB son 104.857.600 KiB, y un ext4 recién creado sobre ella informará de bastante menos. El journal ocupa una cantidad fija, habitualmente 128 MiB en un volumen de este tamaño. Las tablas de inodos se reservan por adelantado a razón de un inodo cada 16 KiB por defecto, unos 256 bytes cada uno —cerca de 1,6 GiB en un volumen de 100 GiB—. Y un 5 % queda reservado para root por defecto, algo que tune2fs -m puede reducir en un volumen de datos donde nadie necesita esa reserva.

Son casi siete gibibytes contabilizados antes de escribir un solo byte, y nada de eso es pérdida: son las estructuras que hacen funcionar el sistema de archivos, más un margen para que un disco lleno no se vuelva irrecuperable. En un volumen destinado a pocos ficheros grandes, mkfs.ext4 -T largefile reduce mucho el número de inodos y devuelve la mayor parte de esa tabla.

Convertir GiB a KiB: preguntas frecuentes

¿Cuánto es 1 GiB en KiB?

1 GiB son 1048576 KiB. El valor es exacto y no está redondeado: la equivalencia de gibibyte a kibibyte está fijada por definición.

¿Se envía a algún sitio lo que escribo?

No. El cálculo ocurre en tu navegador. Puedes desconectarte de internet y seguir calculando, que además es la forma más sencilla de comprobarlo.

¿Por qué mi disco duro muestra menos capacidad de la que anuncia?

Porque dos unidades distintas llevan el mismo nombre. Los fabricantes cuentan 1 GB = 1.000.000.000 bytes; Windows muestra gibibytes, es decir 1.073.741.824 bytes, pero los llama «GB». El mismo disco parece así un siete por ciento más pequeño. No ha desaparecido nada.

Al revés: de kibibyte a gibibyte

Un KiB son 9,53674e-7 GiB. Es la misma relación leída al revés, así que un resultado de una página pasado por la otra tiene que volver al punto de partida.

De dónde salen estas cifras

Lo que esta página afirma sobre unidades de información se puede comprobar: aquí están los documentos que lo fijan.

Cómo funciona esta página

El factor está en la página como una constante y el cálculo son cuatro operaciones. No se envía nada ni se espera a nada: lo que escribes no sale del navegador porque no existe ninguna petición en la que pudiera viajar.