Dürüst olmak gerekirse, eğer bir nedenden ötürü çok ciddiyetiniz varsa ve 11 parmağınız varsa veya ayak parmaklarınızla saymayı seviyorsanız, üs 20'de çalışmaktan hoşlanıyorsanız, dürüstçe size kalmış. Ancak, evrensellik konusunda, günlük bazda bit ve baytlarla uğraşmak zorunda olan çoğumuzun, temel 19'da biraz manipülasyon yapan bir şey bulursak gerçekten gıdıklanacağının farkına varın.
TEMEL NEDENLER x
Taban 10 - Eşyalarımızın tümünün modeli, çünkü 10 sayma hanemiz var (ayaklar tuhaf ve koklamak, bu yüzden bunları kullanmıyoruz).
Temel 2 - Bilgisayarlar bunu bitler için kullanır (açma / kapama) bu, kapılar / transistörler / kondansatörler tarafından yayılan okunabilir voltaj seviyeleri ile ilgilidir.
Temel 8 - Eski, bilgisayarlar çok büyük olmadığında geri (ya da alan bilge olduklarında) bu bir şey ya da başkaları için iyiydi (biraz hoşuma gitmedi)
Taban 16 - Bit manipülasyonu için bir baytın üst ve alt dişlerini göstermek için iyidir. Bu, gömülü / fpga / donanım dünyasında süper kullanışlıdır.
BİLGİSAYARDA NORMAL BAZLAR
Tercihe göre, bir rengin bana "on" değerinin altıgen bir RGB değerinde nasıl olduğunu "söyleyebilirim", bu sonuç olarak donanımda tek bir int ile temsil edilebiliyor ve sonra da bazı kaymalar bana geri verilebiliyor easy-peasy, 1 karmaşık renk = sınırlı hafızaya sahip büyük görüntü işleme için güzel olan 1 veri noktası. Bunu temel 10 gösterimi ile karşılaştırın, hepsini ekleyebilir ve bir sayıya kaydedebilirsiniz, ancak hangi sayıdır, ya da R, zaman 10000, G 100 ve B kendi alanıdır, bu bir çok matematik işlemidir. , genellikle çarpmalar bir vardiyadan daha fazla devire mal olur, bu yüzden bir sonraki veri parçanız zaten son parça işlenmeden önce sıraya girmiştir;
Bazen sadece 2, 8 veya 16 numaralı üslerde çalışmak daha iyidir. Çoğu makinede 2 ile çarpmak sadece biraz kaymaktır, bunlar süper hızlıdır, aynı 2'ye bölünürler.
Biraz titreklik yapma fikrini daha da açıklamak. Bazı ışık dizisine, anahtarlara veya bazı diğer kayıt eşlemeli öğelere erişmek için ihtiyaç duyduğum katıştırılmış bir ortamda çalışırken çok sayıda var.
Bu durumda, her bir anahtara tüm karakter, bayt veya int atanması hem verimsiz hem de aptal olur, bir anahtar veya ışığın 2 konumu vardır - açık ve kapalı - neden 256 konumuna veya 2 ^ 16'ya kadar bir şey atayım? Bir dizideki her ışık, tek bir kelime / kayıt üzerinde 8 veya 16 veya 32 veya 64 veya 128 (veri tipinizin genişliği) ile uyuşan 1 bit olabilir. Alan verimliliği gerekli ve oldukça açığız.
RGB verilerini, birçok sinyal verisini (GPS, ses, ascii, vb.) Kullanma gibi şeyleri programlamada temel alan 2 ^ n'yi kullanma altıgen, ikili ve sekizli olarak çok daha basittir çünkü makinede ve Neyin sunulduğunu ve nasıl manipüle edileceğini daha kolay ayırt eder.
STRANGE BAZLARININ KULLANILMASI
Kodlamadığınız sürece verimlilik yok. 11 numaralı üssü istiyorsan, bunun için bir veri tipi kurmalısın ve kullanıcılara gösterimini yapması için tüm operatörleri aşırı yüklemelisin. 5 maddeye sahip olan ve sadece 5 maddeden katları tutan bir sistemin beş maddelik matematiğe dönüştürülmesinin bir nedeni olmadığını görmüyorum. Üstelik, üs 271 için kodlarını yazmaya karar vermiş olanların iyi belgelemiş olması veya üssü 271'i oluşturmaya değecek kadarını anlamak için daha fazla zaman harcamanız için dua etmelisiniz, çünkü tüm öğeler 271'in katıdır.