Efectivamente antes de 1999, las unidades de capacidad se basaban todas en binario o base dos. Es decir:
1 GB = 1 024 MB
Desde 1999, la EIC, La Comisión Electrotécnica Internacional (ahora es una norma ISO/IEC), acordó que se distinguiera entre contar en base dos o en base decimal (base diez). De tal forma que al clásico GB, se le empezó a llamar GiB (Gigabibyte o Gigabyte binario). Esto viene porque los fabricantes confundían a la gente (en realidad siguen confundiendo) y usaban unidades en base diez. Denominando al GB:
1 GB = 1 000 MB
Este redondeo en un tamaño pequeño es poca pérdida de capacidad, pero en varios cientos de GB, la diferencia es considerable. Pero claro los circuitos microprogramables, sistemas microprogramables; ordenadores, móviles,... siguen entiendo solo de binario (en realidad, como mucha gente sabe esto es una forma "lógica" de decirlo, ya que en realidad solo entienden de variaciones de tensión, corriente...). Así que cuando compras un disco duro, o una unidad SSD, tarjeta de memoria... las unidades se ponen como:
128 GB = 128 000 000 KB, pero para el sistema operativo esto se traduce a GiB, de ahí los 119 GiB.
Para convertir 1 GB a GiB solo hay que dividirlo aproximadamente entre 1, 074. Esto viene de:
1 GB = 1 000 x 1 000 x 1 000 (10 elevado a 9) = 1 000 000 000 bytes
1 GiB = 1 024 x 1 024 x 1 024 (2 elevado a 30) = 1 073 741 824 bytes
Entonces simplemente debemos dividir, entre 1,074 aproximado o si lo preferimos más exacto entre 1 073 741 824 bytes.
Esto nos daría que:
1 GB -> 1 000 000 000 / 1 073 741 824 = 0,93132257461 GiB
1 GB = 0,93132257641 GiB
¿Así que cuantos son 128 GB en GiB?
128 GB -> 128 000 000 000 / 1 073 741 824 = 119,209289551 GiB
128 GB = 119,209289551 GiB
Saludos.