Günümde birkaç tane intro programlama dersi aldım, çoğunlukla bulduğum her türlü programlamada ayaklarımı ıslatmak için. Şaşırtıcı olmayan bir şekilde, hemen hemen her sınıf aynı formatta çalışır: donanıma giriş, yazılıma giriş ve daha sonra gerçek programlamaya girersiniz. Donanım ve yazılımın nasıl çalıştığını anlamak çok önemli olsa da, her derste bir konuyla her zaman kafam karıştı.
Yazılım bölümüne giriş bölümünde buldum, başarısız olmadan, her zaman ikili, onaltılı ve hatta bazen sekizli sayı sistemlerinde okuryazar olmaya büyük önem veriyorlar. Bu şeylerin ne olduğunu ve bir bilgisayarın bunları nasıl yorumlayacağını anlamanın iyi olduğunu anlıyorum, ancak kendimi bu sayı sistemlerinden herhangi birini nasıl okuyacağımı ve yazacağımı bilmeme gerek duymadım. Gerçekten, taban 10 dışında bir şey gördüğüm tek zaman CSS'deki renkler için, bu da www.colorpicker.com gibi bir şey kullanırsanız daha da kolay
Programlama dünyasında bu temel olmayan 10 sayı sistemlerinin harika kullanımlarından habersiz miydim, yoksa sadece bu bölümleri tüm programlama ders kitaplarına dahil etmek eski bir gelenek mi? Ortalama bir programlayıcının gerçekte sekizlik bir sayıyı nerede kullanacağına dair iyi bir örneği var mı?
Bütün cevaplar iyi ama en değerli kısım olduğunu düşündüğüm konulara değinmiyorlar. Farklı üslerde "Düşünmeyi" öğrenmek, bilgisayarların sayıları ele alma biçimini çok daha akıcı hale getirir.
Oldukça iyi paketlenmiş bir dizi küçük harf saklamak istiyorsanız, bunu nasıl yapardınız?
Peki, 5 bitlik bir sayı olan 0-31 aralığına kolayca dönüşen 26 küçük harf vardır, 6 5 bitlik sayıyı 32 bitlik bir alana (int?) Ve hatta yeterli miktarda bırakabilirsiniz. birkaç noktalama işareti için.
Hex'in böyle şeylere yardımcı olduğunu söylemiyorum, ancak sayıların nasıl dönüştürüldüğünü anlamak.
Başka bir durum, çoğu zaman ascii'de biraz uzun sayılar geçirmek için base-64'ü kullanırsınız. Bunu nasıl uygulayacağınızı biliyor musunuz? Neden bu şekilde uygulanmalı? Hatta "CD KEY" oyunun kayıt kutusuna her yazdığınızda ne yazdığını fark ettiniz mi?
Ayrıca, eğlenmek için, bir süre taban 12 ile oynayın. Matematik taban 12'de gerçekten ilginç görünüyor (taban 10 karşılaştırıldığında aptalca, keşke 6 parmakla evrimleşmiş olsaydık - matematiği anlamada onlarca yıl önde olabilirdik). Bazı çok akıllı erken insanlar saati geliştirmek için taban 12'yi kullandılar.
Temel 10'da, "Küçük" serin sayılar olarak 8, 6 ve 4 ile 2, 5 ve 9 gibi kolay desenler oluşturan 3 "Soğuk" numara var. Taban 12'de 8,9 ve 10 gibi "Serin" sayılara sahip 2,3,4,6,11 ve "Küçük" soğuk sayılara sahip olursunuz. çünkü onları her zaman görecektik.
Ayrıca, ikili. Bir elinizi 32'ye güvenebilirsiniz - Biraz yapıyorum, bazen 5'e kadar saydığınızda kullanışlı oluyor sadece kesmiyor :)
İkili çok eğlencelidir, ancak iyi tercüme edilmez. Hex ile iyi olduğunuzda, "A" yı 1010 ve "5" değerini 0101 olarak görmeye başlarsınız ve bunlar gerçekten önemli olmaya başlar. 6. biti çıkarmak istediğiniz bir bit alanınız varsa: 00100000, ne ile "ve"? Sadece 0x20 olduğunu bilmelisin.
0x0600 ile hangi bitlerin çıkarıldığını gösteren bir kod görürseniz? Bunu düşünmeden bile bilmelisiniz - aslında 0000011000000000 yazmış gibi okumalısınız (ancak okumak daha kolaydır, çünkü sıfırları saymanız gerekmez).
Neden beyninizi ve veri işleme yeteneğini sınırlamak istersiniz?
Ne öğrenmeli? Yetkili bir programcı olmak için farklı sayı tabanlarını anlamalısınız , ancak onaltılık konusunda ABCDEF'in 9'dan sonra gelmesi dışında öğrenecek çok az şey var.
Ortalama bir programlayıcının gerçekte sekizlik bir sayıyı nerede kullanacağına dair iyi bir örneği var mı?
Sekizli? Genel olarak değil, hayır, * nix izinleri hariç.
Onaltılık? Emin ol. Gömülü sistemlerin etrafındaki bitleri karıştıran, protokollere veya dosya formatlarına biraz baktığımızda oldukça fazla sayıda kişiyi görmezden geliyorsunuz. Ama emin olun, uygulama veya web işi yaparken metalden uzaktaysanız, bundan daha kolay kurtulabilirsiniz.
Örnek: Mikrodenetleyicilere ve benzerlerine yapılandırma kayıtları.
Rastgele delme tuşları ile alınan 54312 sayısını alın. Hangi bitlerin ayarlandığını söyleyebilir misiniz? En azından başımın üstünden yapamam. Onaltılık eşdeğeri, bu 0xd428. B öte yandan, bana baktığım bit deseninin 1101 0100 0010 1000 olduğunu söylüyor. Bu tür şeyler için daha mantıklı bir şekilde yapılandırılmış ve kendinize tüm bunlara ihtiyacınız olduğunu görüyorsunuz metale yakın olduğunuz zaman. Diyelim ki yukarıdaki sayı mcu'dan sıfırladığım şey ve bazı sebeplerden dolayı 7 ve 9 bitlerine ihtiyacım var. Onaltılı olarak, elde edilen sayının 0xd6a8 olması gerektiğini, ancak ondalık olarak kolayca görebiliyorum? Bu 54952, bana soracak kadar sezgisel bir yer yok. Tabii, bu değere 640 eklemek meselesi, ama anlamak daha çok acı verici. Tabii ki, pratikte, bir kişi bitleri doğru pozisyona kaydırabilir ve OR orijinal değerle bunu yapabilir), ancak yine de son temsilin ne olduğunu bilmek isteyebilirsiniz.
Ortalama bir programcının gerçekte sekizlik bir sayı nerede kullanacağına dair iyi bir örneği var mı?
Unix'teki (veya Linux) bir dosyada izinleri ayarlıyorsanız, 3 basamaklı bir sekizli sayı kullanırsınız. İlk hane kullanıcının izinleri, ikincisi grubun izinleri ve son hane diğer herkesin aldığı izinlerdir.
Bu gerçeği geçen hafta yazdığım kodla anlamak zorunda kaldım.
MD5 gibi standart karma algoritmaların çıktısına bakarsanız, genellikle onaltılı olarak yazılır. Bunun olağandışı üslerde aritmetiğe yol açtığı birkaç durum gördüm.
Kayan noktanın dahili olarak nasıl temsil edildiğini ve bu nedenle 1/10'un neden tam olarak temsil edilmediğini anlamak istiyorsanız, farklı bazlarda aritmetiğin nasıl yapıldığını kesinlikle anlamanız gerekir. Bu, arkada sizi bitirdiği güne kadar ezoterik bir bilgidir ve aniden bunu acele etmelisiniz.
Ayrıca, bilgisayarların içindeki verilerin temel ikili doğasını kırpacağını bulabileceğiniz ton diğer durumlar da vardır. Tabii ki sadece bir CRUD web sitesi yazıyorsanız, muhtemelen bunlardan hiçbiriyle karşılaşmayacaksınız çünkü başka birinin zaten ele aldığı seviyelerde gerçekleşir.
İnşallah, gerçek dünyada, Hex'i ikiliden ikiliye dönüştürmekle ilgili sınavlara girmeyeceksiniz. İstediğiniz şekilde dönüştürmek için elinizde araçlar olacak.
Neler olup bittiğini anlamanız gerektiğini kabul ediyorum, ama niye bakabileceğinizi neden ezberleyesiniz ki?
Ancak, onlar çok geldi çünkü anahtar numaraları (benim için 0x64 = 100, 0xFF = 255, 0xFFFF = 65535, vb) hatırlamak yararlı bulduk.
8675309'un ikili, onaltılı ve sekizli olanları tıkayabilir miyim? Hayır, ama ihtiyacım olduğunda kullanabileceğim bir araç açabilirim.
Sekizli için kullandığım tek şey unix sistemlerinde dosya izinleridir.
Kablo protokollerine yakın veya metal veri aktarımına yakın herhangi bir iş yaparsanız, hex ve binary çok yararlıdır. Temelde veri akışı ikilik olarak bir anda önemsiz bir şekilde temsil edilen ikili olarak akar.
Ayrıca, veri sayfalarının genellikle onaltılık değerler sunduğunu göreceksiniz, bu nedenle koddaki değeri veri sayfasında göründüğü gibi göstermek daha iyidir.
Bunlardan birini çok kullanırsanız, en azından ortak değerler için kafanızda ondalık sayıya dönüştürme ve ondalık sayıdan dönüştürme konusunda oldukça yetkin olursunuz.
Bütün bunlar; Ağır vurgunun çoğunlukla tarihsel olduğuna inanıyorum. Dediğiniz gibi, ondalıktan başka bir şeye çok az ihtiyacı olan çok sayıda programcı var.
Aslında soruyorsunuz neden 2 sayı gösteriminin gücünü öğrenin?
Bilgisayarlar devrelerden oluşur, elektrik akımı, iki akım seviyesini temsil etmek için yüksek ve düşük olmak üzere iki farklı seviyedeki devrelerden akar, ikili basamakları kullanırız, çünkü biri (yüksek ( ) veya sıfır (düşük).
İkili basamaklar kalıp oluşturur. Örneğin, sizin ve benim konuşabilmemizin tek yolu bir devre dışıysa, bana A harfini göndermek istiyorsanız, bana ikili deseni göndereceğinizi belirleyebiliriz: 1000001. tembel, 7 haneyi ezberlemek istemiyorum. Daha ziyade, büyük ikili rakamları daha küçük olana göstermek için 2 numaralandırma sistemi kullanacağım. 8 (2 ^ 3) veya 16 (2 ^ 4) kullanabilirim.
Gördüğünüz gibi çoğu bilgisayar donanımı ve yazılımı ikili bir gösterim kullanır ve biz insanlar ikili gösterimi daha verimli ve ağrısız bir şekilde okumak için sekizli ve onaltılık gibi 2 gösterim gücünü kullanırız.
Şimdi örnek 2 gösterimin gücünü anlaması gereken ortalama programcı:
Şimdi son iki sentim, 2 sunumun herhangi bir gücünü oldukça hızlı bir şekilde öğrenebileceğinizden eminim (giriş programlarını zaten yönettiğinizden beri) .. Dönüşümü unutabilirsiniz, ancak isterseniz yabancı bir kavram olmamalıdır ortalama bir programcı olmak.
Sekizli hiç kullanmadım ama hata ayıklayıcıda hex görmek alışılmadık değil ve bazen kaynak kodunuzda hex kullanmak çok daha mantıklı (normalde, altta yatan veriler bit bayrakları olduğu için).
Bugünlerde çok fazla ihtiyaç olup olmadığını bilmiyorum, ama yıllar önce, bir Sistem Programcısı olduğum zaman, hex'i okuyabilmek ve anlamak çok önemliydi. Ben bir depolama dökümü ile sunulacak (hepsi onaltılı) ve onaltılık temsilini tekrar IBM Assembly dilinde çözerdim. Bunu bir süre yaptıktan sonra doğrudan yapabileceksiniz - hex'i okuyun ve Assembly eşdeğerini yazın. Hata ayıklama için çok kullanışlıdır. Onaltılık değerlerin toplanması ve çıkarılması, taban kayıtlarından ofsetleri hesaplamak için kullanışlıdır.
Şimdi pratikte buna çok az ihtiyaç olduğundan şüpheleniyorum, ancak bunun bilgisi kötü bir şey olamaz.
İkili/onaltılık okumada "akıcı" olmakla ilgili değildir, ancak onlarla karşılaştığınızda hızlı bir şekilde zihinsel dönüşüm yapabileceğiniz kadar rahattır. Basit aritmetik ile rahat olmadan programlamayı hayal edin ve her ikisiyle çarpmanız gerektiğinde bir hesap makinesine gitmeniz gerekiyordu.
Onaltılık/ikili önemlidir, çünkü bilgisayarların konuştuğu dil budur. Özellikle de hata ayıklama alıştırmalarından geçtiğinizde ve verileriniz onaltılık olduğunda, her yerde onunla karşılaşacaksınız.
Ayrıca taban-2'yi farklı sayısal türlerin dahili olarak nasıl temsil edildiği ve aritmetiğin nasıl çalıştığı bağlamında anlamanın önemini vurgulayacağım. Bununla, örneğin, kayan nokta yuvarlama sorunları ve tamsayı taşması ile ne zaman ve nasıl başa çıkılacağını daha iyi kavrayacaksınız.
Bir başka örnek olarak, bitsel işlemler ve bit bayrakları programlamada hala yaygındır ve bu, taban-2 anlayışının önemli olduğu başka bir yerdir.
Gerçekten, taban 10'dan başka bir şey gördüğüm tek zaman CSS'deki renkler için,
Hiç bir karakteri nicode kod grafikleri ? Hiç
%20 İçeren bir URL görmediniz mi? Hiç bir GUID kullanmadınız mı? Daha önce hiç IPv6 adresi ? SQL'de hiç
BLOB değişmezi yazmadınız mı? Onaltılık düzenleyicide hiç dosya görmediniz mi? Bilgisayarla ilgili onaltılı olarak noterlikle yazılmış çok lot var.
Sekizli gelince, günümüzde nadirdir, ancak yine de Unix dosya sistemi izinleri için kullanılmaktadır.
Ayrıca bakınız: bitsel işlemlerin pratik uygulamaları
Herhangi bir "kabloya yakın" programlama yapmaktan kaçınabilseniz bile, bilgisayarların ikili olarak çalıştığının farkında olmanız hala önemlidir: Soyutlamalar sızıntısı .
Çoğu dilde
int soyutlaması sabit genişlikli doğasını sızdırıyor. Tamsayılar taşar ve bunu 2 gibi "yuvarlak" ikili sayılarla yapar31. Ondalıklı bir düşünür, Yıl 2038 hatasını açıklayamaz.
float/
double soyutlama 2 yarıçapını sızdırıyor.
0.1 Yazarsanız, gerçekten 0.1000000000000000055511151231257827021181583404541015625 elde edersiniz. Ve tam olarak 0.1 bekliyorsanız, hata alacaksınız.
Diğer bazlarda örüntüleri basit olan belirli sayıları tanımak hataları çözerken genellikle büyük bir ipucudur. Cevabınız 347'de yanlışsa, bu belki bir şey ifade etmez, ancak 256 veya 128 ile kapalıysa, belki de bu bir şey ifade eder. İşaretsiz bir 16 bit veri türüne -1 koyarsanız, 65535'i alırsınız, bu da 65536'dan 1'dir. 2 ^ 16'yı biliyorsanız, sorununuzu hemen tespit edersiniz.
Sekizlik gelince, bu sorular 'a bakın ve yanlışlıkla sorduğunuzda sekizli tanımanın bu insanların daha iyi programcılarını yapmasını sağlayın.
Bu sistemleri ve bunların nasıl çalıştığını anladığınızda kullanabileceğiniz bazı yüksek verimli matematik ve veri sıkıştırma teknikleri vardır. Muhtemelen ilk birkaç işinizde çok fazla kullanmayacaksınız. Ama bir kıdemli olduğunuzda ve cebinizde aşırı çalıştırılmış dinozor sunucusu üzerinde çalışan çok çalışan eski sistemi yapmak için istendiğinde arka cebinizde olması olması güzel.
API'sı olmayan denetleyiciler ve elektronik cihazlarla uğraşırken daha da önem kazanıyor. Özellikle de bu api'yi yazıyorsanız.
Bilgisayar bilimi eğitiminin bir parçası olan programlama derslerine girişte, bu materyali iyi bilmek çok mantıklıdır. Montaj dilinde programlama yaparken, donanım tasarlarken, biçimsel diller hakkında bir ders alırken vb. Konuya tekrar bakıyorsunuz. Üniversitemdeki tüm elektrik mühendisleri programlamaya giriş için bir kursa ihtiyaç duyuyorlar ve muhtemelen bu bilgileri kullanmaya devam edecekler. Bunun dışında, çok önemli değil.
Karakter kümeleriyle uğraşırken sekizli sayılar bazen yararlıdır. İkincisi bayt tabanlıdır ve bir sekizlik = 8 bit = bir bayttır. Örneğin UTF-8'de ASCII olmayan karakterler iki veya daha fazla bayta sahip olabilir; sekizli sayıları temsil etmek onaltılı sayılara göre daha uygundur.
Bitler yararlı çünkü ... hey! Bilgisayarınızın sürekli olarak 0 ve 1'lerle uğraştığını biliyorsunuz, değil mi? Cidden demek istiyorum ki ... Bu sadece 1 + 1 = 10'u bilenlerin sadece bilgisayar bilimcilerinin şaka yapabilmesi değil, aynı zamanda bit ile ilgili operatörler veya varbits için de yararlıdır. İkincisi, bir dizi bayrakla uğraşırken veritabanlarındaki depolama gereksinimlerini azaltmaya izin verir.
Onaltılık gelince, RPG karakterinizin istatistiklerini ve ekipmanını artırmak için asla bir hex editörü açmadınız. Bunu bir karakter editörü indirmek yerine yapsaydınız, onaltılık sayıları anlamanın neden uygun olduğunu iyi bilirsiniz. ;-)
3 yıl önce üniversiteden mezun oldum ve onaltılık sayıları okuyup yazmanın çok önemli olduğunu düşünüyorum. Ben iş için büyük XML dosyaları bir sürü karışıklık (büyük anlamı 100MB +). Bazen herhangi bir metin düzenleyicide görüntülenemeyen geçersiz XML karakterinden şikayet eden XML dosyası alırsınız, bu yüzden geçersiz karakterleri belirlemek için Hex editörü kullanmak ve kod yazmak zorunda kaldım. Bu görev onaltılık sayı bilmeden çok zor olurdu.
Yıllar önce 8 bit sistemlerde çalışırken hex'in değerini öğrendim.
Bir şeyin B000 veya E7FF'de bulunduğunu anlamanın netliği şaşırtıcıydı.
Dün bir metin satırının sonunda hangi karakterlerin olduğunu tam olarak bilmem gerekiyordu. 0x0A ve 0x0A 0x0D arasındaki farkı bilmek gerçekten önemli olabilir.
Ortalama bir programlayıcının gerçekte sekizlik bir sayıyı nerede kullanacağına dair iyi bir örneği var mı?
Sekizli bugünlerde oldukça nadirdir, ancak Hex'i çok sık kullanıyorum ve sıklıkla ikili problemleri düşünüyorum.
Öncelikle C ve C++, bazı Objective C ile programlıyorum ve Linux ve Mac OS X'te raster ve vektör grafikleri ile çok çalışıyorum. Bu alanlarda, verimli çalışan ve depolamayı iyi kullanan bir kod yazmak çok önemlidir. Ayrıca, makinelerin dahili olarak nasıl çalıştığınızı nasıl temsil ettiğini de anlamanız gerekir. Buna bakmak için en uygun yol altıgendir. Örneğin, standart bir 24 bit renk pikseli üç bayt olarak temsil edilir ve bir bakışta 0x000000'ün siyah, 0x00FF00'in kırmızı ve 0x008000'in pembe olduğunu bir bakışta gerçekten çok faydalıdır!
Ayrıca dosya formatları için uluslararası standartlarda çok çalışıyorum. Son zamanlarda üzerinde çalıştığım, yayın, DVD, vb. İçin video depolamak için kullanılan MXF. Bu bir ikili biçimdir ve yine, en kolay hex veya bazen binary kullanmakla ilgilenir. Bazı MXF tabanlı videoların neden sisteminizde tam olarak oynatılmadığını hata ayıklarken, 32 bitlik bir alana göz atmak ve ekranın boşaltılacak bitin yanlışlıkla ayarlandığını fark etmek gerçekten kullanışlıdır. onaltılık bir sayıdır, ancak taban 10'da hemen hemen imkansızdır.
Kariyerinizi metin dizelerine masaj yapmak için Perl yazarak harcayacaksanız, hayır, muhtemelen hex, octal veya binary'ye aşina olmanıza gerek yoktur. Ama yaptığım şeylerle uğraşmaya başladığınız anda, en azından onaltılı ve ikili.
Bence böyle bir temelden diğerine dönüşüm programlama için çok önemli değil. Yüksek seviyeli programlamada dönüşümlere ihtiyacınız yoktur (ve bunu hiç yapabilirsiniz, lib işlevleri ve hesap makinesi kullanılabilir.) Daha düşük seviyeli programlamaya daldığınızda, artık bir giriş dersinde değilsiniz.
Bence iki (ilgili) konunun temel bir derste ele alınması önemlidir.
Kodlama hakkında. Bu, matematiksel dönüşümle ilgili değil, bilgileri (herhangi bir bilgi türü) depolamak için sayıları (herhangi bir sayı türü) kullanmakla ilgilidir. İsterseniz bunu mors koduyla veya Rakamlarla Boya ile açıklayabilirsiniz. Ancak bilgisayarlar ikili ve ikili kullanmak yerine onaltılı olarak görüntülendiğinden, işler genellikle huysuz örneklerle gösterilir. (Ve onlar çalışırken, bu konuda belirtilen satır sonları hakkında biraz açıklayabilirler. Sadece bunun alabileceği çeşitli şekilleri ve formları tanımanızı tavsiye ederim, bunlardan birkaçı 0x0D, 0x0A , CRLF, '\ n' ve '\ r')
Taşma sorunları. Bir kez daha, bunu hex ile açıklamaya gerek yoktur. Y2k örneğini kullanabilirsiniz (altıgenle hiçbir ilgisi yoktur) Burada da çeşitli olası göstergeleri tanımayı öneriyorum (255, 32767, 65535, 2M14) Neden göstergeler, doğrudan iç içe doğayla bağlantılı depolama, ancak dönüşüm önemli bir parçası değildir.
Bitflags için bilmeniz gerektiğini kabul etmiyorum (çünkü programlamaya giriş dersinde, adlandırılmış sabitler çok daha öğretici ve yararlıdır.)
Düşük seviyeli katıştırılmış programlamaya girerseniz onaltılık kullanırsınız. Donanım kayıtlarında bit kalıpları ve bellek dökümlerinde bayt değerleri gibi şeyler için kullanılır. Ayrıca, her bit bilge operatörünü hangi programlama dilinde kullandığınızı öğreneceksiniz.
Bir programcı olmak istiyorsanız onaltılık bilmelisiniz. Anlamadığınızı bilmeniz gereken nadir gün iş yerinde kabul etmeniz çok garip olurdu.
Bu, kafanıza onaltılık sayılar ekleyebileceğiniz anlamına gelmez. Yine de yaparsanız, düzenli ekleme için kuralları karıştırmaya başlar. :)
İkili, altıgen ve sekizliklerin ortak noktası, onların temel10 olmaması değil, hepsinin ikisinin gücü olmasıdır. Bilgisayarlar doğası gereği ikili olduğu için, bu, her birine verileri görüntülemenin ve bunlarla baş etmenin en uygun veya verimli yolu oldukları bazı uygulamalar sağlar.
Tüm programlama düşük seviyedeyken bu çok önemliydi. Bugünün yüksek seviyeli programlamasında, 2 Numaralı Sistemin gücü çok daha az önemlidir. Her programlama dersinde onlara kapsamlı bir giriş yapmak, eski günlerin kalıntısı olabilir.
Ancak bu sayı sistemleri, yüksek seviyeli dillerde çalışsanız bile hala kullanımlarına sahiptir. Örneğin, renk, birincil renk başına 8 bit olan 24 bitte saklanır. Ve onaltılık, bir baytı insan tarafından okunabilir bir şekilde temsil etmenin en iyi yolu olduğundan, CSS'nin bir parçasıdır ve bu bile programlamaya hiç giriş yapmayan insanlar tarafından kullanılabilir.
İkili anlamadan bilgisayarları anlayamazsınız. İkili programa giriş, programlamaya her kapsamlı girişin gerekli bir parçasıdır. Günlük işlerde sayı sistemleri arasında çok fazla dönüşüm yapmanız gerekmeyebilir, ancak bu gibi egzersizler yapmak, bu sayı sistemlerine gerçekten aşina olmanın tek yoludur *. Birden fazla temel olmayan 10-sayı sistemini bilmek, verilerin doğru olduğunu anlamanın tek yoludur, verilerin hepsi geçerli olmak üzere birçok şekilde temsil edilebilir.