Introdução:
Os dados em computadores eletrônicos são armazenados e transmitidos de várias maneiras, mas sempre são interpretados como uma sequência de valores binários, 0 ou 1. Um valor binário é chamado de bit. Oito bits é chamado de octeto ou byte. Sobre isso, há consenso.
Um bit é indicado como b
e um byte como B
. Sobre isso, existe consenso e, se você encontrar um aplicativo quebrando essa convenção, é definitivamente um bug ou um erro. As pessoas freqüentemente confundem os dois, mas os desenvolvedores e fabricantes de aplicativos em geral não.
Quando você chega a unidades maiores, há duas escolas de pensamento, o que infelizmente significa que não há consenso. Diferentes sistemas operacionais e aplicativos diferentes pertencem a uma escola de pensamento ou outra.
Política de unidades do Ubuntu:
O Ubuntu possui uma política de unidades publicada , que define unidades como esta.
O primeiro conjunto de unidades é múltiplo de 1024. (Por que 1024? Como 1024 é 2 à potência de 10, o que pode facilitar a vida dos programadores.) Esse conjunto de unidades é chamado de unidades binárias ou prefixos IEC, após o padrão IEC. que os definiu:
- Um kibibyte :
1KiB
= 1024 bytes (observe K maiúsculo)
- Um mebibyte :
1MiB
= 1024KiB
= 1048576 bytes
- Um gibibyte :
1GiB
= 1024MiB
= 1048576KiB
= 1073741824 bytes
O segundo conjunto de unidades é múltiplo de 1000. Isso se alinha muito mais com as unidades comumente usadas no sistema SI, como medidores, litros e gramas. Um quilograma é de 1000 gramas; da mesma maneira, um kilobyte é de 1000 bytes. Esse conjunto de unidades é chamado de unidades decimais ou prefixos de SI.
- Um kilobyte :
1kB
= 1000 bytes (observe a letra minúscula k)
- Um megabyte :
1MB
= 1000kB
= 1000000 bytes
- Um gigabyte :
1GB
= 1000MB
= 1000000kB
= 1000000000 bytes
As unidades tradicionais:
Tradicionalmente, muitos aplicativos, sistemas operacionais e desenvolvedores usavam unidades binárias, fornecendo nomes de SI. Ubuntu, GNOME e OS X tentam seguir os padrões publicados, conforme explicado anteriormente; no entanto, o Microsoft Windows e muitos utilitários UNIX ainda usam essas unidades tradicionais, portanto, você deve estar ciente deles.
- Um kilobyte :
1KB
= 1024 bytes (observe K maiúsculo)
- Um megabyte :
1MB
= 1024KB
= 1048576 bytes
- Um gigabyte :
1GB
= 1024MB
= 1048576KB
= 1073741824 bytes
Tradicionalmente, no entanto, as velocidades são especificadas em bits por segundo, com prefixos SI! Portanto, 1 Mbps é na verdade 1000000 bits por segundo, ou seja, 125.000 bytes por segundo, mesmo no Microsoft Windows.
Como evitar ambiguidade:
Como você pode ver, essas definições conflitantes levam a muita confusão. Quando digo 1MB
, quero dizer um milhão de bytes ou 1048576 bytes?
Para evitar ambiguidade, você deve usar uma destas estratégias:
- Use exclusivamente prefixos IEC.
1MiB
é sempre inequívoco.
- Inclua uma conversão para o número de bytes. por exemplo: 1 MB ou 1000000 bytes
- Use os prefixos IEC e SI, por exemplo: 1MiB ou 1.048MB aprox. Prefiro esta solução, pois deixa claro o que você quer dizer e o leitor não precisa realizar nenhum cálculo mental.
Onde houver ambiguidade, eis um bom conjunto de regras práticas que me serviram bem:
- Se você identificar
KB
(com K maiúsculo), as unidades tradicionais provavelmente estão sendo usadas.
- Se você localizar
kB
(com um k minúsculo), provavelmente as unidades SI estão sendo usadas.
- Se o número estiver descrevendo uma velocidade, provavelmente serão usadas unidades decimais.
- Se o número estiver no OS X, em aplicativos modernos do Ubuntu ou GNOME, provavelmente serão usadas unidades decimais.
- Se o número estiver em um disco rígido ou em outro equipamento de computação, provavelmente as unidades decimais estão sendo usadas.
- Se o número for de um utilitário de linha de comando no Linux, provavelmente as unidades binárias tradicionais estão sendo usadas.
- Se o número for de um aplicativo Microsoft Windows, provavelmente as unidades binárias tradicionais estão sendo usadas.
Quando se trata de aplicativos Ubuntu, dê uma olhada nesta lista especificando quais aplicativos usam qual sistema .
Referências: