Cookies de estadística y publicidad
Usamos cookies de estadística y de publicidad, y ambas van a Google. Si rechazas, para ti no cambia nada visible.Ir a la página de privacidad
1 GB = 976562,5 KiB
Escribe un valor y la conversión de gigabyte a kibibyte se actualiza mientras tecleas. El factor es exactamente 976562,5: eso es lo que corresponde en KiB a 1 GB. El cálculo se hace en tu propio dispositivo; después de cargar, esta página no vuelve a consultar ningún servidor.
64 GB is 62500000 KiB
— un móvil sencillo.
1000 GB is 976600000 KiB
— un disco vendido como de un terabyte.
0,0005243 GB is 512 KiB
— medio mebibyte.
0,000004096 GB is 4 KiB
— una página de memoria en casi todos los sistemas.
| GB | KiB |
|---|---|
| 1 | 976562,5 |
| 2 | 1953125 |
| 5 | 4882812,5 |
| 10 | 9765625 |
| 50 | 48828125 |
| 100 | 97656250 |
| 500 | 488281250 |
| 1000 | 976562500 |
Convertir GB a KiB
Un gigabyte son mil millones de bytes, en el sentido decimal que usan los fabricantes de discos, las tarifas de datos y los tamaños de vídeo.
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.
El factor es 976562,5, y casi nadie lo lleva encima. Redondeado a 980000 se desvía un 0,35 %, que pasa desapercibido en cifras pequeñas y se convierte en una unidad entera alrededor de 1000 GB.
Ese es el dato que interesa antes de redondear: no el error en sí, sino a partir de dónde deja de ser despreciable. Por debajo de ahí el factor corto es el sensato; por encima, usa el campo de arriba, que no redondea hasta el momento de escribir el resultado.
Un KiB son 1.024 de la unidad de debajo; un kB, 1.000. En esta página eso es la diferencia entre 0 GB y 0 GB —un 2,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 2,4 %. Un disco vendido en kB 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 0 GB donde la caja ponía 0 GB. 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.
Un gigabyte son 1.000.000.000 de bytes y un kibibyte son 1.024, así que la razón entre los dos es 976.562,5 exactamente. Ese medio no es un artefacto del redondeo y no desaparece por mucha precisión que se le añada: mil millones no contiene ningún factor 1.024, de modo que un gigabyte decimal nunca es un número entero de kibibytes. Cualquier cantidad impar de gigabytes convertida a bloques cae sobre un medio.
Eso importa porque casi todas las herramientas que reciben el número quieren un entero. Redondear hacia arriba concede algo más de lo prometido, redondear hacia abajo concede algo menos, y truncar —que es lo que hace una división entera escrita sin pensar— hace lo segundo en silencio. En una cuota son 512 bytes y nadie se entera; en la comprobación de un despliegue es la diferencia entre pasar y no pasar.
df de GNU sin ningún argumento imprime bloques de 1 KiB. du -k hace lo mismo. quota, repquota y setquota llevan la contabilidad en unidades de 1 KiB. vmstat da la memoria en bloques de 1.024 bytes. Todas esas interfaces se diseñaron cuando un disco se medía en megabytes y un recuento de bloques cabía cómodamente en una columna, y no han cambiado porque cambiarlas rompería cualquier guion que analice su salida.
El resultado es que un volumen actual se describe con un número de nueve cifras. Un sistema de archivos de 2 TB son 1.953.125.000 bloques: ilegible por diseño y exacto por accidente. Por eso esta conversión la hacen los guiones mucho más a menudo que las personas, y por eso vale más escribir la constante una sola vez en una variable con nombre que confiar en recordarla.
Una cuota se acuerda casi siempre en gigabytes decimales, porque es la unidad en la que estaba escrito el acuerdo: cincuenta por usuario, quinientos por proyecto, lo que ponga el plan de alojamiento. setquota quiere bloques. La multiplicación es de 976.562,5 por gigabyte, así que cincuenta gigabytes son 48.828.125 bloques y quinientos son 488.281.250 — los dos enteros, porque el medio se cierra en cuanto la cifra de partida es par.
El límite blando y el duro necesitan después el mismo trato y rara vez lo reciben. Un límite blando derivado de una cifra redonda en gigabytes y un límite duro obtenido sumándole «un diez por ciento» al recuento de bloques son dos conversiones con dos decisiones de redondeo, y el hueco entre ambos deja de ser el diez por ciento que alguien tenía en la cabeza. Conviene convertir una vez y calcular los dos límites a partir del número de bloques.
La contabilidad de cuotas funciona en unidades de 1 KiB casi en todas partes. El sistema de archivos que hay debajo asigna en bloques de 4 KiB por omisión en ext4 y en la mayoría de volúmenes modernos. Son dos cantidades distintas: el usuario consume la segunda y se le factura en la primera, así que un archivo que ocupa una sola unidad de asignación aparece en la cuota como cuatro bloques.
En un directorio de documentos corrientes eso supone un pequeño porcentaje. En un directorio de muchos archivos diminutos es el término dominante: mil archivos de 1 kB son un megabyte de contenido y unos cuatro megabytes de cuota. Cuando alguien insiste en que no ha llegado a su límite y la herramienta dice lo contrario, esto es lo primero que hay que mirar, y no tiene nada que ver con el asunto decimal frente a binario.
Las coreutils de GNU leen la variable de entorno BLOCK_SIZE, y DF_BLOCK_SIZE y DU_BLOCK_SIZE la sustituyen herramienta por herramienta. Definir POSIXLY_CORRECT cambia el bloque por omisión de 1.024 bytes a 512, con lo que todas las cifras impresas quedan a la mitad. Todo esto está documentado, nada de ello se ve en la salida, y todo viaja con el perfil del intérprete de órdenes en lugar de con la orden.
La consecuencia práctica es que un recuento de bloques pegado en un ticket no se describe a sí mismo. Dos administradores ejecutando el mismo df en la misma máquina pueden producir cifras que se diferencian en un factor de dos, y la discusión que viene después trata del sistema de archivos en lugar de tratar del entorno. Pasar --block-size explícito en cuanto el número vaya a salir de tu propia pantalla elimina toda esa familia de problemas.
Las cifras que conviene reconocer son las redondas. 1 GB son 976.563 bloques redondeados, 10 GB son 9.765.625, 100 GB son 97.656.250 y 1 TB son 976.562.500. Los primeros dígitos son los mismos a cualquier escala —9765625—, de modo que lo único que hay que leer es la magnitud, que es un recuento de dígitos y no un valor.
Eso convierte además un error habitual en algo visible de un vistazo. Una cifra que empieza por 1048 o por 1073 es una conversión de binario a binario hecha con el par de unidades equivocado: 1.048.576 bloques son un gibibyte y no un gigabyte. Si el recuento empieza por nueve, las unidades han cruzado de sistema como debían; si empieza por uno, alguien ha dividido entre otra cosa.
Una cifra en gigabytes decimales casi nunca ha nacido dentro de la máquina: viene de la etiqueta de una unidad, de un plan comercial, de un contrato o de un pedido. Es el número que alguien compró. El recuento de bloques es el número que la máquina impone, y entre los dos están la sobrecarga del sistema de archivos y los bloques reservados, que no menciona ninguna de las dos partes.
Por eso una cuota de exactamente 976.562.500 bloques sobre un volumen «de 1 TB» no se puede alcanzar: el volumen no presenta un terabyte entero de espacio útil una vez asignadas sus propias estructuras. Repartir cuotas por usuario que sumen la capacidad nominal es la manera clásica de sobresuscribir un sistema de archivos sin pretenderlo, y solo es un problema de unidades en el sentido de que fueron las unidades las que hicieron que la cuenta pareciera correcta.
Antes de los bloques de 1 KiB hubo bloques de 512 bytes, y no se han ido. POSIX especifica 512 como unidad para la salida de df y du, que es exactamente por lo que POSIXLY_CORRECT parte por la mitad todas esas cifras. tar cuenta en registros de 512 bytes. La geometría de disco usó sectores de 512 bytes durante décadas, y las unidades que pasaron a sectores físicos de 4.096 bytes siguen presentando sectores lógicos de 512 por compatibilidad. ls -s informa de bloques asignados, históricamente en unidades de 1.024 en sistemas GNU y de 512 en otros.
De ahí que un recuento de bloques no signifique nada sin su tamaño de bloque, y que el tamaño de bloque sea una propiedad de la herramienta, de la plataforma y del entorno antes que del sistema de archivos. La cifra 1.953.125.000 es un volumen de 2 TB en bloques de 1 KiB y uno de 1 TB en bloques de 512 bytes, y nada en el número distingue los dos casos. Anotar la unidad junto al recuento no es pedantería aquí: es lo único que hace interpretable el número.
1 GB son 976562,5 KiB. El valor es exacto y no está redondeado: la equivalencia de gigabyte a kibibyte está fijada por definición.
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.
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.
Un KiB son 0,000001024 GB. 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.
Lo que esta página afirma sobre unidades de información se puede comprobar: aquí están los documentos que lo fijan.
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.