Anasayfa » nasıl » Bilgisayarlar Neden Sıfırdan Sayılıyor?

    Bilgisayarlar Neden Sıfırdan Sayılıyor?


    Sıfırdan saymak birçok bilgisayar dilinde çok yaygın bir uygulamadır, fakat neden? Fenomeni keşfettikçe ve neden bu kadar yaygın olduğunu okuyun.

    Bugünün Soru ve Cevap oturumu bize topluluk tarafından yönlendirilen bir soru-cevap web sitesi grubu olan Stack Exchange'in bir alt birimi olan SuperUser'ın izniyle geliyor..

    Soru

    SuperUser okuyucu DragonLord, çoğu işletim sisteminin ve programlama dilinin neden sıfırdan sayıldığını merak ediyor. O yazıyor:

    Bilgisayarlar geleneksel olarak taksitli sıfırdan başlayarak sayısal değerler. Örneğin, C tabanlı programlama dillerindeki diziler sıfır dizininden başlar.

    Bunun için hangi tarihsel nedenler var ve sıfırdan saymanın pratik avantajlarından bir taneden fazla saymak var?

    Neden gerçekten? Uygulamada olduğu kadar yaygın olduğu gibi, kesinlikle uygulamasının pratik sebepleri vardır..

    Cevap

    SuperUser yazarı Matteo, aşağıdaki bilgileri sunmaktadır:

    0'dan dizi sayımı, her bir öğenin bellek adresinin hesaplanmasını kolaylaştırır.

    Bir dizi bellekte verilen bir konumda (adres olarak adlandırılır) saklanırsa, her bir elemanın konumu olarak hesaplanabilir.

    element (n) = adres + n * size_of_the_element 

    İlk elemanı ilk düşünürseniz, hesaplama olur

    element (n) = adres + (n-1) * size_of_the_element 

    Çok büyük bir fark değil, ancak her erişim için gereksiz bir çıkarma ekler.

    Eklemek için düzenlendi:

    • Dizi indeksinin ofset olarak kullanılması bir gereklilik değil, sadece bir alışkanlıktır. İlk elemanın ofseti sistem tarafından gizlenebilir ve eleman tahsis edilirken ve referans verilirken dikkate alınabilir..
    • Dijkstra bir bildiri yayınladı: “Neden sıfırlama başlamalı” (pdf), burada 0 ile başlamanın neden daha iyi bir seçim olduğunu açıklıyor. Sıfırdan başlamak, aralıkların daha iyi temsil edilmesini sağlar.

    Eğer cevabı daha derinden incelemeyi düşünüyorsanız, Dijkstra makalesi bilgilendirici bir okumadır..


    Açıklamaya eklemek için bir şey var mı? Yorumlarda ses kesiliyor. Diğer teknoloji meraklısı Stack Exchange kullanıcılarından daha fazla cevap okumak ister misiniz? Burada tüm tartışma konusuna göz atın.