BT endüstrisinde çok yaygın bir görevin, depolama boyutu birimleri - bayt, kilobayt, megabayt, gigabayt, terabayt, vb. Arasında dönüştürülmesi gerekiyor. İşleri daha da karmaşık hale getirmek için POSIX standardı “df ”Ve“ du ”512 bayt blok boyutlarında olmalıdır.

Bu yazı, bu birimler arasında hızlı bir şekilde dönüştürmenin çok basit ve kolay bir yolunu kapsayacaktır.

Kibibyte / mebibyte / gibibyte'ye karşı kilobayt / megabayt / gigabayt

Tarihsel olarak bir kilobayt, megabayt ve gigabaytın ne kadar alan temsil ettiği konusunda bir tutarsızlık ve anlaşmazlık vardı. Bir sabit disk üreticisine sorarsanız, bir gigabaytın 1.000.000.000 bayt olduğunu söylerler. Bununla birlikte, çoğu işletim sistemi bir gigabaytı 1.073.741.824 (1024 * 1024 * 1024) olarak hesaplar. Bu yaklaşık% 7 tutarsızlıktır ve boyutlar arttıkça tutarsızlık büyür (örneğin bir terabaytın yaklaşık% 9 tutarsızlığı vardır).

Editörün Notu:
Konuk yazar Brian Smith Colorado'da bir AIX / Linux sistem yöneticisidir. Brian'ı Twitter'da takip edebilirsiniz. @brian_smi ve blogunu şurada görün: http://www.ixbrian.com/blog

Tüm bunların çözümü, resmi bir “Gigabyte” tanımının şu anda 1.000.000.000 bayt ve bir “Gibibyte” 1.073.741.824 olmasıdır. Bunu gör wikipedia girişi daha fazla bilgi için.

Seni bilmiyorum, ama aslında başka bir kişinin “Gibibyte” kelimesini söylediğini hiç duymadım. Bu yazının geri kalanı boyunca, bir gigabayta 1.073.741.824 bayt olarak değineceğim, çünkü bu, ders kitabı tanımına göre yanlış olsa bile insanlar arasında yaygın kullanımdır.




Boyut birimleri arasında dönüştürmenin yanlış yolu

Birçok kişi 54.183.672.092 bayt gibi bir dosya boyutuna bakacak ve sayının ilk 2 basamağına göre “54 Gigabayt” olduğunu söyleyecektir. Aslında, gerçekten 50.5 Gigabayttır (54.183.672.092, 1.073.741.824'e bölünmüştür (1 GB boyut) ~ 50.5 GB'ye eşittir).

Dosya boyutu büyüdükçe, ilk bakışta görünen boyut ile gerçek boyut arasındaki tutarsızlık artar.




Boyut birimleri arasında dönüştürme için hızlı ve kolay yöntem

Bu dönüşümlerden herhangi birini yapmanın hızlı ve kolay bir yolu vardır. Bu yöntemle ezberlemeniz gereken tek sayı 1024'tür. Bilmeniz gereken tek şey boyutların adı ve sırasıdır (kilobayt, megabayt, gigabayt, terabayt). Daha küçük birimleri daha büyük birimlere dönüştürmek için (baytları kilobayta veya megabayta dönüştürün), istenen son birime kadar her birim boyutu için orijinal sayıyı 1,024'e bölmeniz yeterlidir.

Örneğin, dönüştürmek istiyorsanız 110,214,321,212 byte'ı megabayta bölerseniz 1,024'e bölerdiniz (önce KB'ye dönüştürmek için) ve sonra tekrar 1.024'e bölerdiniz (MB olarak sona erer). Gigabayta dönüştürmek istiyorsanız, üç kez 1.024'e bölünürsünüz (bir kez KB'ye, bir kez MB'ye ve bir kez GB'ye kadar).

Daha büyük birimleri daha küçük birimlere dönüştürmek (yani birkaç gigabayt alıp megabayt, kilobayt veya bayta dönüştürmek) için, istenen son birime kadar her birim boyutu için orijinal sayıyı 1,024 ile çarpmanız yeterlidir. Örneğin, dönüştürmek istiyorsanız 384 megabayttan bayta, bunu iki kez 1,024 ile çarparsınız (KB'ye ilk dönüştürme ve ikinci olarak bayt olarak sonlandırma).

14 terabaytı bayt sayısına dönüştürmek isterseniz, 14'ü dört kez 1.024 ile çarparsınız (önce GB'ye, sonra MB'ye, sonra KB'ye ve son olarak baytlara). İşte bunu özetleyen bir diyagram:

İşte bazı örnekler:

  • 67.003.324.746 baytı Gigabyte birimine dönüştür:
    • 67,003,324,746 / 1024/1024/1024 = 62,40 GB (Üç ünite arasında hareket ettiğimiz için üç defa 1024'e bölün)
  • 67.003.324.746 baytı Megabayt'a çevirin:
    • 67,003,324,746 / 1024/1024 = 63,899 MB (Daha küçükten daha büyük birime 2 birim boyunca hareket ettiğimiz için iki kez 1024'e bölün)
  • 8.846.679 Megabayt İle Terabayt Birimini Çevirme:
    • 8,846,679 / 1024/1024 = 8,44 TB (İki birim arasında 1024'e bölün, çünkü daha küçükten büyüğe, 2 birimden geçiyoruz)
  • 78 Gigabayt İle Bayt Birimini Çevirme
    • 78 * 1024 * 1024 * 1024 = 83,751,862,272 (3 ünite arasında ilerlediğimizden, daha büyükten daha küçük birime doğru hareket ettiğimiz için üç kat 1024)
  • 52 Terabayt İle Gigabayt Birimini Çevirme
    • 52 * 1024 = 53,248 Gigabayt (1 birim boyunca ilerlediğimizden, daha büyükten daha küçüke doğru bir kez 1024 ile çarpın)

Bulmacanın son parçası: 512 baytlık bloklar

POSIX standartlar, “df” ve “du” gibi komutların varsayılan çıktısının 512 bayt blok birimlerinde olmasını gerektirir, bu nedenle bu, zaman zaman çalışacağınız bir birimdir. 512 baytlık blok tam olarak göründüğü gibidir: 512 bayt veri.

512 baytlık blokları daha anlamlı bir şeye dönüştürmek için birkaç yöntem vardır:

  • 512 bayt blokları 2'ye bölerek kilobayta dönüştürebilirsiniz. Örneğin, altı 512 baytlık bloğun ikiye bölünmesi 3 KB'ye eşittir.
  • 512 baytlık blokları baytlara 512 ile çarparak dönüştürebilirsiniz. Örneğin, 512 ile çarpılan altı 512 baytlık blok 3,072 bayta eşittir.

512 baytlık blokları kilobayta veya bayta dönüştürdüğünüzde, bunları ihtiyacınız olan diğer birime kolayca dönüştürebilirsiniz.

Boyut birimleri arasında dönüştürme çoğu insanın düşündüğünden çok daha kolaydır. Yapmanız gereken tek şey 1.024 sayısını ve diğer birkaç kuralı ezberlemek ve herhangi bir boyut birimi arasında hızlı ve kolay bir şekilde dönüştürme yapabileceksiniz.