Alıntı (zafer):
> Ali'nin bool hakkındaki düşüncesini açmasını bekliyorum
Yalnızca iki değeri olabildiği için tek bitle ifade edilen bir bilgiyi bool'da yalnızca iki değer taşıyabildiği için bool olarak ifade etmek istediğini düşündüm.
bool mantıksal ifade türü olduğundan yani "acaba böyle midir" gibi sorulara yanıt verdiğinden, eğer ifade etmek istediğin bilgi "acaba bu indekse karşılık gelen bitin değeri 1 midir" ise bool dizisi uygun.
Yok eğer bu dizi "bitlerin değerlerini taşıyan dizi" ise, bool türü bit değeri taşımaya uygun gelmedi. Evet, tabii ki kullanılabilir ama anlamsal açıdan doğru değil.
İki değerli olduğu için C++'ın bool'unun tek bitlik bir tür olduğunu düşünenlere rastlamıştım. Ek olarak onu da belirttim. bool dahil, en küçük değişken en azından bir bayt olmak zorundadır. Hatta, hiç üyesi olmadığı için uzunluğu sıfır olması gereken türlerin değişkenleri bile bir baytlıktırlar:
struct BoşYapı
{}
void main()
{
assert(BoşYapı.sizeof == 1);
}
Bu, her değişkenin kendi yeri olabilsin diyedir. Eğer uzunluğu sıfır olsaydı, örneğin on elemanlı bir BoşYapı dizisinin on elemanı da aynı adreste bulunurlardı. Oysa hepsinin farklı kişiliklerinin olması gerekir. Bu da farklı adresleriyle sağlanır.
Alıntı (zafer):
> sonrasında burada bir iki metod üzerinde karar verip BitOkuyucu sınıfını geliştirmeye çalışırız diye düşünüyorum.
Sınıf mı olmalı yoksa bitlerle ilgili olan bir grup işlev mi? Çünkü sınıf (veya yapı) denince üyeleri olan ve işlemler sırasında o üyeleri kullanan türler düşünüyorum.
Alıntı:
> Başlangıcı yapmak adına benim sınıfta bulunmasını düşündüğüm metot şöyle;
> public string CevirString(ubyte byteDizisi, int pozisyon)
> ```
İşte şimdi oradaki "pozisyon"u görünce sınıf olabileceğini görüyorum ama pozisyon parametre olarak mı verilmeli, yoksa sınıfın bir üyesi mi olmalı. Örneğin File yapısı da dosyanın belirli bir yerinden okur ama pozisyon biz readf()'i kullandıkça otomatik olarak artar. (Evet, okuma pozisyonunu değiştirebiliyoruz da ama bunu farklı bir işlevle yapıyoruz.)
Alıntı:
> Bu metot bir byte dizisini aldığı pozisyon değerine kadar
Yanlış anlamışım bile. :) Parametre listesinde pozisyon görünce o pozisyondaki bilgi okunuyor sanmışım. Parametrenin adı "uzunluk" olsa "başından başlayarak şu uzunlukta" diye anlayabilirdim belki.
Ali
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]