İçeriğe geç

Bit ve Bayt Uzunluğu Hesaplayıcı - Ücretsiz Veri Boyutu Aracı

Tamsayılar, hex dizeleri ve UTF-8, UTF-16, ASCII kodlamaları ile metin için bit ve bayt uzunluklarını hesaplayın. Geliştiriciler, veri bilimcileri ve ağ mühendisleri için ücretsiz çevrimiçi araç.

Bit ve Bayt Uzunluğu Hesaplayıcı

Girdi Türü
bitler
8
baytlar
1

8 bitler = 1 baytlar

Görselleştirme

Bayt 1
11111111
0xFF
Yükleme hesaplayıcısı...
📚

Belgeler

Bit ve bayt uzunluğu hesaplayıcı nedir?

Bit ve bayt uzunluğu hesaplayıcısı, bir veri parçasının kaç bit ve bayta ihtiyaç duyduğunu bulur. Bit, 0 veya 1 değerini alabilen tek bir ikili basamaktır. Bayt, 8 bitten oluşan bir gruptur. Hesaplayıcı bir tam sayı, onaltılık dize veya metin dizesini kabul eder ve tam boyutu her iki birimde de bildirir.

Bu, programlama, ağ iletişimi ve veri depolama açısından önemlidir. Bir veritabanı sütununun, ağ paketinin ve diskteki dosyanın bayt cinsinden ölçülen bir boyutu vardır; bu boyut, verilerin nasıl yazıldığına bağlıdır.

Bir tam sayının bit uzunluğu nasıl hesaplanır?

Pozitif bir tam sayının bit uzunluğu, ikili gösterimindeki basamak sayısıdır. Örneğin, ikili sistemde 255 sayısı 11111111 şeklindedir ve 8 basamak içerir; dolayısıyla bit uzunluğu 8'dir.

Formül: pozitif bir n tam sayısının bit uzunluğu, n sayısının 2 tabanındaki gösteriminde bulunan basamak sayısıdır. Özel durum olan n = 0 için bit uzunluğu 1'dir.

Negatif tam sayılar, bilgisayarların işaretli sayıları depolamak için kullandığı standart yöntem olan iki tümleyen gösterimini kullanır. Negatif bir tam sayının bit uzunluğu, onu ikinin tümleyeni biçiminde tutabilecek en küçük bit sayısıdır. Örneğin, −128 sayısı 8 bite (10000000 olarak) sığar; ancak −129 sayısı 9 bite ihtiyaç duyar, çünkü 8 bit ile ulaşılabilecek en küçük değer −128'dir.

Bit uzunluğu bilindikten sonra bayt uzunluğu, en yakın tam bayta yukarı yuvarlanarak bulunur:

Bayt uzunluğu = ⌈bit uzunluğu ÷ 8⌉

⌈ ⌉ sembolü “yukarı yuvarla” anlamına gelir. 9 bitlik bir değer, bir bayt bölünemeyeceği için yine de 2 tam bayta ihtiyaç duyar.

Çözümlü örnek

Tam sayıBit uzunluğuBayt uzunluğu
011
25581
25692
−12881
−12992
18,446,744,073,709,551,615 (2⁶⁴ − 1)648

Bir onaltılık dizenin bit uzunluğu nasıl hesaplanır?

Her onaltılık basamak (0–9, A–F), tam olarak 4 biti temsil eder; çünkü 4 bit, 16 olası değeri tutabilir.

Formül: bit uzunluğu = onaltılık basamak sayısı × 4. Bayt uzunluğu yine bit uzunluğunun 8'e bölünüp yukarı yuvarlanmasıyla bulunur.

Örneğin, “FF” onaltılık dizesi 2 basamak içerir; dolayısıyla bit uzunluğu 2 × 4 = 8 bit veya 1 bayttır. “ABCD” onaltılık dizesi 4 basamak içerir; bu da 16 bit veya 2 bayt eder. Sayım yapılmadan önce boşluklar ve diğer beyaz boşluk karakterleri kaldırılır. Basamak sayısı tek olsa bile sonuç tam bayta yukarı yuvarlanır: “F”, 4 bittir; hesaplayıcı bunu 1 bayt olarak bildirir.

Bir metin dizesinin bayt uzunluğu nasıl hesaplanır?

Metinlerde boyut, karakterleri baytlara dönüştürmek için kullanılan kurala, yani karakter kodlamasına bağlıdır. Hesaplayıcı beş kodlamayı destekler:

  • UTF-8: Web genelinde kullanılan değişken uzunluklu bir kodlamadır. Her karakter 1 ile 4 bayt arasında yer kaplar. Temel İngilizce harfler, rakamlar ve noktalama işaretlerinin her biri 1 bayt kullanır.
  • UTF-16: JavaScript ve Windows'ta dahili olarak kullanılır. Çoğu karakter 2 bayt kullanır; Temel Çokdilli Düzlemin dışındaki karakterler, örneğin birçok emoji, 4 bayt kullanır.
  • UTF-32: Sabit uzunluklu bir kodlamadır. Karakter ne olursa olsun her karakter tam olarak 4 bayt kullanır.
  • ASCII: Başlıca İngilizce harfleri, rakamları ve temel noktalama işaretlerini içeren 7 bitlik bir kodlamadır ve 128 karakteri kapsar. Her karakter 1 bayt kullanır. Bu kümenin dışındaki karakterler reddedilir.
  • Latin-1 (ISO-8859-1): Batı Avrupa dillerinde kullanılan aksanlı harfleri de içeren, 256 karakteri kapsayan 8 bitlik bir kodlamadır. Her karakter 1 bayt kullanır. Bu kümenin dışındaki karakterler reddedilir.

Formül: bayt uzunluğu = kodlamanın dize için ürettiği bayt sayısı. Bit uzunluğu = bayt uzunluğu × 8.

Sayımlar yalnızca metnin kendisini kapsar. Bayt sırası işareti eklenmez; bu nedenle buradaki UTF-16 veya UTF-32 sayımı, başlangıca işaret yazan bir aracınkinden 2 veya 4 bayt daha küçüktür.

Çözümlü örnek

“Hello, world!” metni, tamamı temel ASCII harfleri ve noktalama işaretlerinden oluşan 13 karakter içerir.

  • UTF-8: 13 bayt (104 bit); çünkü her karakter 1 bayta sığar.
  • UTF-16: 26 bayt (208 bit); çünkü her karakter 2 bayt kullanır.

“こんにちは世界” metni (yedi Japonca karakter), UTF-8 kodlamasında karakter başına 3 bayt kullanır ve toplam 21 bayt (168 bit) yer kaplar.

😀 gibi bir emoji, Temel Çok Dilli Düzlem'in dışındadır. UTF-8 kodlamasında 4 bayt, UTF-16 kodlamasında (vekil çifti olarak) 4 bayt ve UTF-32 kodlamasında 4 bayt kullanır.

İşaretli tam sayılar yanıtı neden değiştirir?

Bilgisayarlar negatif sayıları basit bir eksi işareti yerine ikinin tümleyeni gösterimiyle depolar. Bu nedenle negatif bir tam sayının bit uzunluğu, mutlak değerinin bit uzunluğuna yalnızca bir eklenmesiyle bulunmaz. Kural şöyledir: bit uzunluğu, değerin en az −2^(k−1) olması koşulunu sağlayan en küçük k bit sayısıdır. Bu nedenle −128 (−2⁷'ye eşittir) 8 bite sığarken −129 9 bite ihtiyaç duyar.

Sık sorulan sorular

Baytları bite nasıl dönüştürürüm? 8 ile çarpın. On bayt, 80 bite eşittir; çünkü tanım gereği her bayt 8 bit içerir.

Bit uzunluğu ile bayt uzunluğu arasındaki fark nedir? Bit uzunluğu, tek tek ikili basamakları sayar. Bayt uzunluğu, 8 bitlik grupları sayar; bit uzunluğu 8'in katı değilse sonuç bir sonraki tam bayta yukarı yuvarlanır.

UTF-8 karakteri kaç bayt kullanır? 1 ile 4 arasında. ASCII ile ortak olan karakterler 1 bayt kullanır. Aksanlı Latin, Yunanca ve Kiril karakterlerinin çoğu 2 bayt kullanır. Çince, Japonca ve Korece karakterlerin çoğu 3 bayt kullanır. Emoji ve diğer nadir semboller 4 bayt kullanır.

Bir onaltılık dizenin bayt uzunluğu nasıl hesaplanır? Beyaz boşlukları kaldırdıktan sonra onaltılık basamakları sayın, bit sayısını elde etmek için 4 ile çarpın ve ardından tam bayta yukarı yuvarlayın. Her bayt 2 onaltılık basamağa karşılık gelir; bu nedenle “FF” 1 bayt, “ABCD” ise 2 bayttır. “F” gibi tek bir basamak 4 bittir ve yine de 1 bayt yer kaplar.

Negatif bir tam sayı neden bazen pozitif karşılığından daha fazla bite ihtiyaç duyar? İkinin tümleyeni gösterimi işareti belirtmek için bir bit kullanır; ancak bu bit her durumda ayrıca eklenmek yerine değer aralığıyla paylaşılır. −128 sayısı, 127'ye kadar olan pozitif değerlerle aynı 8 bite sığar; ancak −129 artık 8 bite sığmaz ve 9 bite ihtiyaç duyar.

Bu hesaplayıcı hangi girdi boyutlarını kabul eder? 1.000.000 karaktere kadar uzunluktaki tam sayılar, onaltılık dizeler ve metin dizeleri.

Kaynaklar

  1. "Character encoding." Wikipedia, Wikimedia Vakfı. https://en.wikipedia.org/wiki/Character_encoding
  2. "UTF-8, UTF-16, UTF-32 & BOM." Unicode, Inc. https://www.unicode.org/faq/utf_bom.html
  3. "Two's complement." Wikipedia, Wikimedia Vakfı. https://en.wikipedia.org/wiki/Two%27s_complement