08. 06.2018

Dmitry Vassiyarov'un blogu.

İkili kod - nerede ve nasıl kullanılır?

Bugün sizlerle tanıştığıma özellikle memnun oldum sevgili okuyucularım, çünkü kendimi daha ilk derste sınıfı harf ve sayılarla tanıştırmaya başlayan bir öğretmen gibi hissediyorum. Ve dijital teknolojiler dünyasında yaşadığımız için, size temelleri olan ikili kodun ne olduğunu anlatacağım.

Terminoloji ile başlayalım ve ikilinin ne anlama geldiğini öğrenelim. Açıklığa kavuşturmak için, "ondalık" olarak adlandırılan olağan hesabımıza dönelim. Yani, çeşitli sayılarla rahatça çalışmayı ve uygun bir kayıt tutmayı mümkün kılan 10 rakam kullanıyoruz.

Bu mantığı takiben, ikili sistem sadece iki karakterin kullanılmasını sağlar. Bizim durumumuzda, sadece "0" (sıfır) ve "1" birdir. Ve burada sizi, varsayımsal olarak onların yerine başka sözleşmeler olabileceği konusunda uyarmak istiyorum, ancak bize yardımcı olacak olan, yokluğu (0, boş) ve bir sinyalin (1 veya “asa”) varlığını gösteren bu değerlerdir. ikili kodun yapısını daha iyi anlayın.

Neden bir ikili koda ihtiyacımız var?

Bilgisayarların ortaya çıkmasından önce, çalışma prensibi bir sinyal almaya dayanan çeşitli otomatik sistemler kullanıldı. Sensör tetiklenir, devre kapanır ve belirli bir cihaz açılır. Sinyal devresinde akım yok - işlem yok. Devredeki voltajın varlığı veya yokluğu ile temsil edilen bilgilerin işlenmesinde ilerleme kaydetmeyi mümkün kılan elektronik cihazlardı.

Onların daha ileri karmaşıklığı, işini yapan ve belirli bir şekilde değişen darbelerden oluşan bir sinyali zaten işleyen ilk işlemcilerin ortaya çıkmasına neden oldu. Şimdi yazılımın ayrıntılarına girmeyeceğiz, ancak aşağıdakiler bizim için önemlidir: elektronik cihazların belirli bir gelen sinyal dizisini ayırt edebildiği ortaya çıktı. Elbette koşullu kombinasyonu şu şekilde de tarif etmek mümkün: “bir sinyal var”; "sinyal yok"; "bir sinyal var"; "bir sinyal var." Hatta gösterimi basitleştirebilirsiniz: “vardır”; "Numara"; "var"; "var".

Ancak “1” birimli bir sinyalin varlığını ve sıfır “0” ile yokluğunu belirtmek çok daha kolaydır. O zaman tüm bunların yerine basit ve özlü bir ikili kod kullanabiliriz: 1011.

Tabii ki, işlemci teknolojisi çok ileri gitti ve artık çipler sadece bir sinyal dizisini değil, bireysel karakterlerden oluşan belirli komutlarla yazılan tüm programları algılayabiliyor.

Ancak kayıtları için, bir sinyalin varlığına veya yokluğuna karşılık gelen sıfırlardan ve birlerden oluşan aynı ikili kod kullanılır. O var ya da yok, önemli değil. Bir çip için, bu seçeneklerden herhangi biri "bit" (bit resmi ölçü birimidir) olarak adlandırılan tek bir bilgi parçasıdır.

Geleneksel olarak, bir karakter birkaç karakter dizisi ile kodlanabilir. İki sinyal (veya bunların yokluğu) yalnızca dört seçeneği tanımlayabilir: 00; 01;10; 11. Bu kodlama yöntemine iki bit denir. Ama aynı zamanda olabilir:

  • Dört bit (yukarıdaki 1011 paragrafındaki örnekte olduğu gibi) 2 ^ 4 = 16 karakter kombinasyonu yazmanıza izin verir;
  • Sekiz bit (örneğin: 0101 0011; 0111 0001). Bir zamanlar, 2^8 = 256 değeri kapsadığı için programlamaya en çok ilgi duyuyordu. Bu, tüm ondalık basamakları, Latin alfabesini ve özel karakterleri tanımlamayı mümkün kıldı;
  • On altı bit (1100 1001 0110 1010) veya üzeri. Ancak bu kadar uzun olan kayıtlar zaten modern, daha karmaşık görevler içindir. Modern işlemciler 32 ve 64 bit mimarileri kullanır;

Dürüst olmak gerekirse, tek bir resmi sürüm yok, öyle oldu ki, “bayt” adı verilen standart saklanan bilgi ölçüsü haline gelen sekiz karakterin birleşimi oldu. Bu, 8 bitlik ikili kodla yazılmış tek bir harf için bile geçerli olabilir. Öyleyse sevgili dostlarım, lütfen unutmayın (bilmeyen varsa):

8 bit = 1 bayt.

Yani kabul edildi. Her ne kadar 2 bit veya 32 bit değer olarak yazılan bir karakter nominal olarak bir bayt olarak da adlandırılabilir. Bu arada, ikili kod sayesinde, bayt cinsinden ölçülen dosyaların hacmini ve bilgi aktarım hızını ve İnternet'i (saniyede bit) tahmin edebiliriz.

İkili kodlama çalışırken

Bilgisayarlar için bilgi kaydını standart hale getirmek için, biri 8 bitlik kayda dayanan ASCII'nin yaygınlaştığı birkaç kodlama sistemi geliştirilmiştir. İçindeki değerler özel bir şekilde dağıtılır:

  • ilk 31 karakter kontrol karakterleridir (00000000 - 00011111 arası). Servis komutları, bir yazıcıya veya ekrana çıktı, ses sinyalleri, metin biçimlendirme için servis yapın;
  • 32'den 127'ye (00100000 - 01111111) Latin alfabesi ve yardımcı semboller ve noktalama işaretleri;
  • geri kalanı, 255'e kadar (10000000 - 11111111) - alternatif, özel görevler ve ulusal alfabelerin görüntülenmesi için tablonun bir parçası;

İçindeki değerlerin yorumu tabloda gösterilmiştir.

"0" ve "1"in kaotik bir düzende yer aldığını düşünüyorsanız, çok yanılıyorsunuz. Herhangi bir sayıyı örnek olarak kullanarak size bir kalıp göstereceğim ve size ikili kodla yazılmış sayıları nasıl okuyacağınızı öğreteceğim. Ancak bunun için bazı koşulları kabul edeceğiz:

  • 8 karakterlik bir bayt sağdan sola okunacaktır;
  • Sıradan sayılarda birimlerin basamaklarını kullanırsak, onlar, yüzler, o zaman burada (ters sırada okuma) her bit için "iki"nin farklı güçleri vardır: 256-124-64-32-16-8-4-2- 1;
  • Şimdi bir sayının ikili koduna bakıyoruz, örneğin 00011011. Karşılık gelen pozisyonda “1” sinyalinin olduğu yerde, bu bitin değerlerini alıp olağan şekilde toplarız. Buna göre: 0+0+0+32+16+0+2+1 = 51. Bu yöntemin doğruluğunu kod tablosuna bakarak teyit edebilirsiniz.

Şimdi meraklı dostlarım, sadece ikili kodun ne olduğunu değil, onun tarafından şifrelenen bilgileri nasıl dönüştüreceğinizi de biliyorsunuz.

Modern teknolojinin anlayabileceği dil

Elbette, işlemci cihazları tarafından ikili kod okuma algoritması çok daha karmaşıktır. Ancak onun yardımıyla istediğiniz her şeyi yazabilirsiniz:

  • Biçimlendirme seçenekleriyle metin bilgileri;
  • Sayılar ve bunlarla ilgili işlemler;
  • Grafik ve video görüntüleri;
  • Duymamızın ötesine geçenler de dahil olmak üzere sesler;

Buna ek olarak, "sunumun" basitliği nedeniyle, ikili bilgileri kaydetmenin çeşitli yolları mümkündür:

  • Manyetik alanın değiştirilmesi ;
  • İkili kodlamanın avantajlarını tamamlamak, herhangi bir mesafeden bilgi iletmek için neredeyse sınırsız olanaklardır. Uzay aracı ve yapay uydular ile kullanılan bu iletişim yöntemidir.

    Dolayısıyla günümüzde ikili sistem, kullandığımız elektronik cihazların çoğunun anlayabileceği dildir. Ve en ilginç olanı, onun için henüz başka bir alternatif öngörülmemiştir.

    Verdiğim bilgilerin başlamanız için yeterli olacağını düşünüyorum. Ve sonra, böyle bir ihtiyaç ortaya çıkarsa, herkes bu konuyla ilgili bağımsız bir çalışmaya dalabilecektir.

    Hoşçakal diyeceğim ve kısa bir aradan sonra sizin için blogumda ilginç bir konu hakkında yeni bir makale hazırlayacağım.

    Bana kendin söylesen daha iyi olur ;)

    Yakında görüşürüz.

    Bilgisayarlar kelimeleri ve sayıları insanların yaptığı gibi anlamıyor. Modern yazılım, son kullanıcının bunu görmezden gelmesine izin verir, ancak en düşük seviyelerde bilgisayarınız ikili bir elektrik sinyali ile çalışır. sadece iki devleti var: akım var veya akım yok. Karmaşık verileri "anlamak" için, bilgisayarınızın ikili olarak kodlaması gerekir.

    İkili sistem, bilgisayarınızın anlayabileceği açık ve kapalı durumlarına karşılık gelen 1 ve 0 olmak üzere iki rakama dayanır. Muhtemelen ondalık sisteme aşinasınızdır. 0'dan 9'a kadar on basamak kullanır ve daha sonra her bir sıradaki basamak bir öncekinin on katı olacak şekilde iki basamaklı sayılar oluşturmak için bir sonraki sıraya geçer. İkili sistem benzerdir, her rakam bir öncekinden iki kat daha büyüktür.

    İkili Sayma

    İkili sistemde, ilk basamak ondalık olarak 1'e eşittir. İkinci basamak 2, üçüncüsü 4, dördüncüsü 8 ve bu şekilde devam eder - her seferinde ikiye katlanır. Tüm bu değerleri eklemek size ondalık biçimde bir sayı verecektir.

    1111 (ikili) = 8 + 4 + 2 + 1 = 15 (ondalık)

    0'ın muhasebeleştirilmesi bize dört ikili bit için 16 olası değer verir. 8 biti hareket ettirin ve 256 olası değer elde edin. Bu, temsil etmek için çok daha fazla yer kaplar, çünkü ondalıktaki dört basamak bize 10.000 olası değer verir. Elbette, ikili kod daha fazla yer kaplar, ancak bilgisayarlar ikili dosyaları ondalık sistemden çok daha iyi anlar. Ve mantık işleme gibi bazı şeyler için ikili, ondalık sayıdan daha iyidir.

    Programlamada kullanılan başka bir temel sistem daha olduğunu söylemek gerekir: onaltılık. Bilgisayarlar onaltılı sistemde çalışmasa da, programcılar kod yazarken ikili adresleri insan tarafından okunabilir bir biçimde temsil etmek için kullanır. Bunun nedeni, onaltılık bir sayının iki basamağının tam bir baytı temsil edebilmesidir, yani ikili sistemde sekiz basamağı değiştirirler. Onaltılık sistem, fazladan altı basamak elde etmek için 0-9 arasındaki sayıları ve A'dan F'ye kadar olan harfleri kullanır.

    Bilgisayarlar neden ikili dosyalar kullanır?

    Kısa cevap: donanım ve fizik yasaları. Bilgisayarınızdaki her karakter bir elektrik sinyalidir ve hesaplamanın ilk günlerinde elektrik sinyallerini ölçmek çok daha zordu. Yalnızca negatif bir yükle temsil edilen "açık" durum ile pozitif bir yük ile temsil edilen "kapalı" durum arasında ayrım yapmak daha mantıklıydı.

    Neden "kapalı"nın pozitif bir yük ile temsil edildiğini bilmeyenler için, bunun nedeni elektronların negatif bir yüke sahip olmaları ve daha fazla elektronun negatif bir yük ile daha fazla akım anlamına gelmesidir.

    Böylece eski oda büyüklüğündeki bilgisayarlar kullanıldı ikili dosyalar sistemlerini inşa etmek için ve daha eski, daha hantal ekipman kullanmalarına rağmen, aynı temel ilkeler üzerinde çalıştılar. Modern bilgisayarlar denilen şeyi kullanır transistör ikili kod ile hesaplamalar yapmak için.

    İşte tipik bir transistörün şeması:

    Temel olarak, kapıda akım varsa akımın kaynaktan drenaja akmasına izin verir. Bu bir ikili anahtar oluşturur. Üreticiler bu transistörleri 5 nanometre kadar küçük veya iki DNA dizisi kadar küçük yapabilirler. Modern işlemciler bu şekilde çalışır ve hatta açık ve kapalı durumları ayırt etmede sorun yaşayabilirler (bunun nedeni gerçekçi olmayan moleküler boyutlarından kaynaklanmaktadır. kuantum mekaniğinin tuhaflıkları).

    Neden sadece ikili sistem

    Öyleyse, “Neden sadece 0 ve 1? Neden başka bir numara eklemiyorsunuz? Bu kısmen bilgisayar oluşturma geleneklerinden kaynaklansa da, aynı zamanda bir rakam daha eklemek, akımın sadece "kapalı" veya "açık" değil, bir durumunu daha vurgulama ihtiyacı anlamına gelir.

    Buradaki sorun şu ki, birden fazla voltaj seviyesi kullanmak istiyorsanız, bunlarla kolayca hesaplamalar yapmak için bir yola ihtiyacınız vardır ve bunu yapabilen modern donanım, ikili hesaplamaların yerine geçemez. Örneğin, sözde bir üçlü bilgisayar, 1950'lerde geliştirildi, ancak geliştirme orada durdu. üçlü mantık ikiliden daha verimlidir, ancak ikili transistör için henüz etkili bir yedek yoktur veya en azından ikili kadar küçük bir transistör yoktur.

    Üçlü mantığı kullanamamamızın nedeni, transistörlerin bir bilgisayarda nasıl bağlandığına ve matematiksel hesaplamalar için nasıl kullanıldığına bağlıdır. Transistör iki giriş hakkında bilgi alır, bir işlem gerçekleştirir ve sonucu bir çıkışa döndürür.

    Bu nedenle, ikili matematik bir bilgisayar için her şeyden daha kolaydır. İkili mantık, Açık ve Kapalı durumlarına karşılık gelen Doğru ve Yanlış ile ikili sistemlere kolayca dönüştürülür.

    İkili mantık üzerinde çalışan bir ikili doğruluk tablosu, her temel işlem için dört olası çıktıya sahip olacaktır. Ancak, üçlü kapılar üç girdi kullandığından, üçlü doğruluk tablosunda 9 veya daha fazla olacaktır. İkili sistemde 16 olası operatör (2^2^2) bulunurken, üçlü sistemde 19683 (3^3^3) bulunur. Ölçekleme bir sorun haline gelir, çünkü trinity daha verimli olmasına rağmen, aynı zamanda katlanarak daha karmaşıktır.

    Kim bilir? Gelecekte, ikili mantık minyatürleştirme sorunlarıyla karşılaştığı için üçlü bilgisayarları çok iyi görebiliriz. Şimdilik dünya ikili modda çalışmaya devam edecek.

    İkili tercüman, ikili kodu okumak veya yazdırmak için metne çevirmek için bir araçtır. İkili bir dosyayı iki yöntemi kullanarak İngilizce'ye çevirebilirsiniz; ASCII ve Unicode.

    İkili sayı sistemi

    İkili kod çözücü sistemi 2 numaraya (temel) dayanmaktadır. Taban-2 sayı sistemi olarak sadece iki sayıdan oluşur: 0 ve 1.

    İkili sistem, eski Mısır, Çin ve Hindistan'da çeşitli amaçlarla kullanılmasına rağmen, modern dünyada elektronik ve bilgisayarların dili haline gelmiştir. Bir elektrik sinyalinin kapalı (0) ve açık (1) durumunu algılamak için en verimli sistemdir. Aynı zamanda, bilgisayarlarda veri oluşturmak için kullanılan metne ikili kodun temelidir. Şu anda okuduğunuz dijital metin bile ikili sayılardan oluşuyor. Ancak bu metni okuyabilirsiniz çünkü kelimenin ikili kodunu kullanarak çeviri dosyasının ikili kodunu kopyaladık.

    ASCII nedir?

    ASCII, elektronik iletişim için bir karakter kodlama standardıdır ve American Standard Code for Information Interchange'in kısaltmasıdır. Bilgisayarlarda, telekomünikasyon ekipmanlarında ve diğer cihazlarda ASCII kodları metni temsil eder. Birçok ek karakter desteklenirken, çoğu modern karakter kodlama şeması ASCII'ye dayanmaktadır.

    ASCII, kodlama sisteminin geleneksel adıdır; Internet Assigned Numbers Authority (IANA), sistemin ABD'de geliştirildiğini ve ağırlıklı olarak kullanılan tipografik karakterlere dayandığını açıklayan güncellenmiş US-ASCII adını tercih ediyor. ASCII, IEEE'nin öne çıkan özelliklerinden biridir.

    İkiliden ASCII'ye

    Orijinal olarak İngiliz alfabesine dayanan ASCII, 128 belirtilen yedi bit tamsayı karakterini kodlar. 0 ila 9 arasındaki sayılar, a ila z arasındaki küçük harfler, A ila Z arasındaki büyük harfler ve noktalama işaretleri dahil olmak üzere 95 kodlu karakter yazdırabilirsiniz. Ayrıca, Teletype makineleri tarafından üretilen 33 yazdırılamayan kontrol kodu, orijinal ASCII spesifikasyonuna dahil edildi; satır başları, satır beslemeleri ve sekme kodları gibi bazıları hala yaygın kullanımda olmasına rağmen, bunların çoğu artık kullanılmamaktadır.

    Örneğin, 1101001 = onaltılık 69 (i dokuzuncu harftir) = ondalık 105 ikili sayı, ASCII küçük I harfini temsil eder.

    ASCII'yi kullanma

    Yukarıda bahsedildiği gibi, ASCII kullanarak bilgisayar metnini insan metnine çevirebilirsiniz. Basitçe söylemek gerekirse, ikiliden İngilizceye bir çevirmendir. Tüm bilgisayarlar ikili, 0 ve 1 serisinde mesajlar alır. Ancak, İngilizce ve İspanyolca aynı alfabeyi kullanıp benzer birçok kelime için tamamen farklı kelimelere sahip olabildikleri gibi, bilgisayarların da kendi dil versiyonları vardır. ASCII, tüm bilgisayarların aynı dilde belge ve dosya alışverişi yapmasını sağlayan bir yöntem olarak kullanılır.

    ASCII önemlidir çünkü bilgisayarlara tasarım sırasında ortak bir dil verilmiştir.

    1963'te ASCII, ticari olarak American Telephone & Telegraph TWX (Teletype Writer eXchange) ağı için yedi bitlik bir teleprinter kodu olarak kullanıldı. TWX başlangıçta, rakip Telex teleprinter sistemi tarafından da kullanılan önceki beş bitlik ITA2'yi kullandı. Bob Behmer, kaçış dizisi gibi özellikleri tanıttı. Behmer'e göre, İngiliz meslektaşı Hugh MacGregor Ross, çalışmanın popülerleşmesine yardımcı oldu - "o kadar ki, ASCII haline gelen koda Avrupa'da ilk kez Behmer-Ross Kodu deniyordu." Kapsamlı ASCII çalışmaları nedeniyle Boehmer, "ASCII'nin Babası" olarak anılmıştır.

    UTF-8 kodlamasının onu geçtiği Aralık 2007'ye kadar, ASCII World Wide Web'de en yaygın karakter kodlamasıydı; UTF-8, ASCII ile geriye dönük uyumludur.

    UTF-8 (Unicode)

    UTF-8, ASCII kadar kompakt olabilen, ancak herhangi bir Unicode karakteri de (dosya boyutunda bir miktar artışla) içerebilen bir karakter kodlamasıdır. UTF, bir Unicode dönüştürme biçimidir. "8", 8 bitlik bloklar kullanılarak karakter gösterimi anlamına gelir. Bir karakterin temsil etmesi gereken blok sayısı 1'den 4'e kadar değişir. UTF-8 ile ilgili gerçekten güzel olan şeylerden biri, boş sonlandırılmış dizelerle uyumlu olmasıdır. Kodlandığında, hiçbir karakterin boş (0) baytı olmaz.

    Unicode ve ISO/IEC 10646 Evrensel Karakter Seti (UCS) çok daha geniş bir karakter aralığına sahiptir ve çeşitli kodlama biçimleri birçok durumda hızla ISO/IEC 8859 ve ASCII'nin yerini almaya başlamıştır. ASCII 128 karakterle sınırlıyken, Unicode ve UCS, benzersiz tanımlama kavramlarını (kod noktaları olarak adlandırılan doğal sayıları kullanarak) ve kodlamayı (UTF-8, UTF-16 ve UTF-32-bit ikili biçimlere kadar) ayırarak daha fazla karakteri destekler. ) .

    ASCII ve UTF-8 arasındaki fark

    ASCII, Unicode karakter kümesine (1991) ilk 128 karakter olarak dahil edildi, bu nedenle her iki kümedeki 7 bitlik ASCII karakterleri aynı sayısal kodlara sahiptir. Bu, UTF-8'in 7 bitlik ASCII ile uyumlu olmasını sağlar, çünkü yalnızca ASCII karakterleri olan bir UTF-8 dosyası, aynı karakter dizisine sahip bir ASCII dosyasıyla aynıdır. Daha da önemlisi, yalnızca 7 bitlik ASCII karakterlerini özel olarak tanıyan ve en yüksek bit kümesine sahip baytları değiştirmeyen yazılım (genellikle ISO-8859 -1 gibi 8 bit ASCII uzantılarını desteklemek için yapıldığı gibi) sayesinde ileriye dönük uyumluluk sağlanır. değiştirilmemiş UTF-8 verilerini tutacaktır.

    İkili Tercüman Uygulamaları

    Bu sayı sisteminin en yaygın kullanımı bilgisayar teknolojisinde görülebilir. Sonuçta, tüm bilgisayar dili ve programlamasının temeli, dijital kodlamada kullanılan iki basamaklı sayı sistemidir.

    Bu, dijital kodlama sürecini oluşturan, veriyi alan ve ardından sınırlı bilgi biti ile oluşturan şeydir. Sınırlı bilgi, ikili sistemin sıfırlarından ve birlerinden oluşur. Bilgisayarınızın ekranındaki görüntüler buna bir örnektir. Bu görüntüleri her piksel için kodlamak için ikili bir dize kullanılır.

    Ekran 16 bitlik bir kod kullanıyorsa, her piksele, hangi bitlerin 0 ve 1 olduğuna bağlı olarak hangi rengin görüntüleneceğine ilişkin talimatlar verilir. Sonuç, 2^16 ile temsil edilen 65.000'den fazla renktir. Boole cebri olarak bilinen matematik dalında ikili sayı sistemlerinin kullanım alanlarını bulun.

    Mantık ve doğruluk değerleri matematiğin bu alanına aittir. Bu uygulamada, ifadelere doğru veya yanlış olmalarına bağlı olarak 0 veya 1 atanır. Bu uygulamada yardımcı olacak bir araç arıyorsanız, ikiliden metne, ondalıktan ikiliye, ikiliden ondalığa dönüştürmeyi deneyebilirsiniz.

    İkili sayı sisteminin avantajı

    İkili sayı sistemi birçok şey için kullanışlıdır. Örneğin, bir bilgisayar sayıları eklemek için anahtarları çevirir. Sisteme ikili sayılar ekleyerek bir bilgisayarın eklenmesini teşvik edebilirsiniz. Şu anda bu bilgisayar sayı sistemini kullanmanın iki ana nedeni var. İlk olarak, güvenlik aralığının güvenilirliğini sağlayabilir. İkincil ve en önemlisi, ihtiyaç duyulan devreyi en aza indirmeye yardımcı olur. Bu, gerekli alanı, enerji tüketimini ve maliyetleri azaltır.

    İkili sayılarla yazılmış ikili mesajları kodlayabilir veya çevirebilirsiniz. Örneğin,

    (01101001) (01101100011011110111011001100101) (0111100101101111101110101) kodu çözülen mesajdır. Bu sayıları kopyalayıp ikili tercümanımıza yapıştırdığınızda, aşağıdaki metni İngilizce olarak alacaksınız:

    Seni seviyorum

    Anlamı

    (01101001) (01101100011011110111011001100101) (0111100101101111101110101) = seni seviyorum

    tablolar

    ikili

    onaltılık

    Tek bir dijital sinyal çok bilgilendirici değildir çünkü sadece iki değer alabilir: sıfır ve bir. Bu nedenle, büyük miktarda bilgiyi iletmenin, işlemenin veya saklamanın gerekli olduğu durumlarda, genellikle birkaç paralel dijital sinyal kullanılır. Ayrıca, tüm bu sinyaller yalnızca aynı anda düşünülmelidir, her biri ayrı ayrı mantıklı değildir. Bu gibi durumlarda ikili kodlardan, yani dijital (mantıksal, ikili) sinyallerle oluşturulan kodlardan söz edilir. Kodda yer alan mantıksal sinyallerin her birine bit adı verilir. Kodda ne kadar fazla rakam yer alırsa, bu kod o kadar fazla değer alabilir.

    Bize tanıdık gelen sayıların ondalık kodlamasının, yani on tabanlı, ikili kodlamalı bir kodun aksine, kodun tabanı iki sayısıdır (Şekil 2.9). Yani, ikili kodun kodunun her basamağı (her basamak) on değer alamaz (ondalık kodda olduğu gibi: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9) , ancak sadece iki - 0 ve 1. Konumsal gösterim sistemi aynı kalır, yani en küçük bit sağda ve en kıdemli bit solda yazılır. Ancak ondalık sistemde sonraki her basamağın ağırlığı bir öncekinin ağırlığından on kat daha fazlaysa, ikili sistemde (ikili kodlama ile) iki katıdır. Bir ikili kodun her basamağına bir bit denir (İngilizce "İkili Rakam" - "ikili sayı" dan).

    Pirinç. 2.9. Ondalık ve ikili kodlama

    Masada. 2.3 ondalık ve ikili sistemlerde ilk yirmi sayının karşılıklılığını gösterir.

    Tablo, ikili kodun gerekli bit sayısının, ondalık kodun gerekli bit sayısından çok daha büyük olduğunu göstermektedir. Üçe eşit basamaklı olası maksimum sayı, ondalık olarak 999 ve ikili olarak yalnızca 7'dir (yani, ikili kodda 111). Genel olarak, n bitlik bir ikili sayı 2 n farklı değer alabilir ve n bitlik bir ondalık sayı 10 n değer alabilir. Yani, büyük ikili sayılar (on basamaktan fazla) yazmak pek uygun olmaz.

    Tablo 2.3. Ondalık ve ikili sistemlerde sayıların karşılığı
    Ondalık sistem İkili sistem Ondalık sistem İkili sistem

    İkili sayıların yazılmasını basitleştirmek için onaltılık sistem (onaltılık kodlama) önerildi. Bu durumda, tüm ikili rakamlar (en az anlamlı olandan başlayarak) dört basamaklı gruplara ayrılır ve ardından her grup bir karakterle kodlanır. Bu tür her grup denir kemirmek(veya kemirmek, dörtlü) ve iki grup (8 bit) - bir bayt. Tablodan. Şekil 2.3, 4 bitlik bir ikili sayının 16 farklı değer (0'dan 15'e kadar) alabileceğini göstermektedir. Bu nedenle, onaltılık bir kod için gereken karakter sayısı da 16'dır, bu da kodun adının geldiği yerdir. İlk 10 karakter olarak 0'dan 9'a kadar olan sayılar alınır ve ardından Latin alfabesinin ilk 6 büyük harfi kullanılır: A, B, C, D, E, F.

    Pirinç. 2.10.İkili ve onaltılık sayı gösterimi

    Masada. 2.4, ilk 20 sayının (ikili sayılar parantez içinde verilmiştir) onaltılık kodlama örneklerini ve Şek. 2.10, bir ikili sayının onaltılık biçimde yazılmasına ilişkin bir örneği gösterir. Onaltılık kodlamayı belirtmek için, bazen sayının sonunda "h" veya "H" harfi kullanılır, örneğin, A17F h notasyonu A17F onaltılık sayısını belirtir. Burada A1 sayının yüksek baytı ve 7F sayının düşük baytıdır. Tam sayı (bizim durumumuzda iki baytlık bir sayı) denir kelime.

    Tablo 2.4. Onaltılık kodlama sistemi
    Ondalık sistem onaltılık sistem Ondalık sistem onaltılık sistem
    0 (0) bir(1010)
    1(1) B(1011)
    2 (10) C(1100)
    3 (11) D(1101)
    4 (100) E (1110)
    5 (101) F(1111)
    6 (110) 10 (10000)
    7 (111) 11 (10001)
    8 (1000) 12 (10010)
    9 (1001) 13 (10011)

    Onaltılık bir sayıyı ondalık sayıya dönüştürmek için, en az anlamlı (sıfır) basamağın değerini bir, sonraki (ilk) basamağın değerini 16, ikinci basamağı 256 (16 2) vb. ile çarpmak gerekir. ve ardından tüm ürünleri ekleyin. Örneğin, A17F numarasını alın:

    A17F=F*16 0 + 7*16 1 + 1*16 2 + A*16 3 = 15*1 + 7*16+1*256+10*4096=41343

    Ancak her dijital ekipman uzmanının (tasarımcı, operatör, tamirci, programcı vb.), sistemden sisteme aktarım gerekmemesi için onaltılık ve ikili sistemleri normal ondalık sayıyla olduğu kadar özgürce kullanmayı öğrenmesi gerekir.

    Dikkate alınan kodlara ek olarak, sayıların sözde ikili-ondalık gösterimi de vardır. Onaltılık kodda olduğu gibi, ikili-ondalık kodda, kodun her basamağı dört ikili basamağa karşılık gelir, ancak dört ikili basamaktan oluşan her grup on altı değil, yalnızca on değer alabilir, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Yani, bir ondalık basamak dört ikili sayıya karşılık gelir. Sonuç olarak, ikili ondalık kodda sayıların yazılmasının normal bir ondalık kodda yazmaktan farklı olmadığı ortaya çıktı (Tablo 2.6), ancak gerçekte bu, her basamağı yalnızca iki değer alabilen özel bir ikili koddur: 0 ve 1. BCD bazen ondalık sayısal göstergeleri ve puan tablolarını düzenlemek için çok kullanışlıdır.

    Tablo 2.6. İkili Ondalık Kodlama Sistemi
    Ondalık sistem İkili Ondalık Ondalık sistem İkili Ondalık
    0 (0) 10 (1000)
    1(1) 11 (1001)
    2 (10) 12 (10010)
    3 (11) 13 (10011)
    4 (100) 14 (10100)
    5 (101) 15 (10101)
    6 (110) 16 (10110)
    7 (111) 17 (10111)
    8 (1000) 18 (11000)
    9 (1001) 19 (11001)

    İkili kodda, sayılar üzerinde herhangi bir aritmetik işlem yapılabilir: toplama, çıkarma, çarpma, bölme.

    Örneğin, iki adet 4 bitlik ikili sayının eklenmesini düşünün. 0111 (ondalık 7) ve 1011 (ondalık 11) sayısını ekleyelim. Bu sayıları eklemek, ondalık gösterimden daha zor değildir:

    0 ve 0 eklerken 0, 1 ve 0 eklerken 1, 1 ve 1 eklerken 0 alırız ve sonraki bite taşıma 1 olur. Sonuç 10010 (ondalık 18). Herhangi iki n-bit ikili sayı eklerken, n-bit veya (n + 1)-bit sayı alabilirsiniz.

    Çıkarma da aynı şekilde yapılır. 0111 (7) sayısını 10010 (18) sayısından çıkaralım. En az anlamlı basamağa hizalanmış sayıları yazıyoruz ve ondalık sistemde olduğu gibi aynı şekilde çıkarıyoruz:

    0'dan 0 çıkarmak 0, 1'den 0 çıkarmak 1, 1'den 1 çıkarmak 0, 0'dan 1 çıkarmak 1 ve bir sonraki basamakta 1 ödünç verir. Sonuç 1011'dir (ondalık 11).

    Çıkarma yaparken negatif sayılar elde etmek mümkündür, bu nedenle negatif sayıların ikili gösterimini kullanmanız gerekir.

    Hem ikili pozitif hem de ikili negatif sayıların aynı anda gösterimi için, çoğunlukla ikinin tümleyen kodu olarak adlandırılan kod kullanılır. Bu koddaki negatif sayılar, aynı büyüklükte pozitif bir sayıya eklendiğinde sıfırla sonuçlanacak bir sayı ile ifade edilir. Negatif bir sayı elde etmek için, aynı pozitif sayının tüm bitlerini zıt olanlarla (0 ila 1, 1 ila 0) değiştirip sonuca 1 eklemeniz gerekir.Örneğin, -5 sayısını yazalım. İkili koddaki 5 sayısı 0101 gibi görünüyor. Bitleri zıt olanlarla değiştiriyoruz: 1010 ve bir: 1011 ekliyoruz. Sonucu orijinal sayı ile toplarız: 1011 + 0101 = 0000 (beşinci bite aktarımı yok sayarız).

    İkisinin tümleyen kodundaki negatif sayılar, en anlamlı basamağın değerindeki pozitif olanlardan farklıdır: en anlamlı basamaktaki biri negatif bir sayıyı ve sıfır - pozitif olanı belirler.

    Standart aritmetik işlemlere ek olarak, ikili sayı sisteminde bazı özel işlemler kullanılır, örneğin, modulo 2 ekleme Bu işlem (A ile gösterilir) bitseldir, yani bitten bite aktarım ve yüksek düzeyde ödünç alma yoktur. bit burada. Modulo 2 ekleme kuralları şunlardır: , , . Aynı işleme fonksiyon denir XOR. Örneğin, modulo 2'yi 0111 ve 1011 ikili sayılarını toplayalım:

    İkili sayılar üzerindeki diğer bitsel işlemler VE işlevini ve VEYA işlevini içerir. VE işlevi, yalnızca iki orijinal sayının karşılık gelen bitlerinin her ikisi de bir olduğunda bir ile sonuçlanır, aksi takdirde sonuç -0 olur. VEYA işlevi, orijinal sayıların karşılık gelen bitlerinden en az biri 1 olduğunda bir ile sonuçlanır, aksi takdirde sonuç 0'dır.

    Bu ders “Kodlama bilgisi” konusunu kapsayacaktır. İkili kodlama. Bilgi ölçü birimleri”. Bu sırada kullanıcılar, bilgilerin kodlanması, bilgisayarların bilgiyi nasıl algıladığı, ölçü birimleri ve ikili kodlama hakkında fikir edinebilecekler.

    Başlık:Çevremizdeki bilgiler

    Ders: Kodlama bilgisi. İkili kodlama. Bilgi birimleri

    Bu ders aşağıdaki soruları kapsayacaktır:

    1. Bilgi sunumu şeklinde bir değişiklik olarak kodlama.

    2. Bir bilgisayar bilgiyi nasıl tanır?

    3. Bilgi nasıl ölçülür?

    4. Bilgi ölçü birimleri.

    Kodlar dünyasında

    İnsanlar neden bilgiyi kodlar?

    1. Başkalarından gizleyin (Leonardo da Vinci'nin ayna şifrelemesi, askeri şifreleme).

    2. Bilgileri kısaca yazın (stenografi, kısaltma, yol işaretleri).

    3. Daha kolay işleme ve iletim için (Mors kodu, elektrik sinyallerine çeviri - makine kodları).

    kodlama bilgilerin bazı kodlarla temsilidir.

    kod bilgi sunmak için bir semboller sistemidir.

    Bilgileri kodlamanın yolları

    1. Grafik (bkz. Şekil 1) (çizimler ve işaretler kullanılarak).

    Pirinç. 1. İşaret bayrakları sistemi (Kaynak)

    2. Sayısal (sayıları kullanarak).

    Örneğin: 11001111 11100101.

    3. Sembolik (alfabetik karakterler kullanılarak).

    Örneğin: NKMBM CHGYOU.

    kod çözme - bu, orijinal bilgi sunumu biçimini geri yüklemek için bir eylemdir. Kodu çözmek için kodu ve kodlama kurallarını bilmeniz gerekir.

    Kodlama ve kod çözme aracı, yazışmaların kod tablosudur. Örneğin, çeşitli sayı sistemlerinde yazışma - 24 - XXIV, alfabenin herhangi bir sembole yazışması (Şekil 2).


    Pirinç. 2. Bir şifre örneği (Kaynak)

    Bilgi Kodlama Örnekleri

    Bilgi kodlamasına bir örnek Mors kodudur (bkz. Şekil 3).

    Pirinç. 3. Mors kodu ()

    Mors kodu yalnızca 2 karakter kullanır - bir nokta ve bir tire (kısa ve uzun ses).

    Kodlama bilgisinin başka bir örneği bayrak alfabesidir (bkz. Şekil 4).

    Pirinç. 4. Bayrak alfabesi ()

    Bayrakların alfabesi de bir örnektir (bkz. Şekil 5).

    Pirinç. 5. Bayrakların ABC'si ()

    İyi bilinen bir kodlama örneği, müzikal alfabedir (bkz. Şekil 6).

    Pirinç. 6. Müzik alfabesi ()

    Aşağıdaki sorunu göz önünde bulundurun:

    Bayrak alfabe tablosunu kullanarak (bkz. Şekil 7), aşağıdaki sorunu çözmek gerekir:

    Pirinç. 7

    Kıdemli asistan Hurda, sınavı Kaptan Vrungel'e geçer. Aşağıdaki metni okumasına yardım edin (bkz. Şekil 8):

    Çevremizde başlıca iki sinyal vardır, örneğin:

    Trafik ışığı: kırmızı - yeşil;

    Soru: evet - hayır;

    Lamba: açık - kapalı;

    Mümkün - imkansız;

    İyi kötü;

    Gerçek bir yalandır;

    İleri geri;

    Evet Hayır;

    Bütün bunlar 1 bitlik bilgi miktarını gösteren sinyallerdir.

    1 bit - bu, iki olası seçenekten birini seçmemize izin veren bilgi miktarıdır.

    Bir bilgisayar elektronik devreler üzerinde çalışan bir elektrik makinesidir. Bilgisayarın giriş bilgilerini tanıması ve anlaması için bilgisayar (makine) diline çevrilmesi gerekir.

    Oyuncuya yönelik algoritma, bilgisayarın anlayabileceği bir dilde yazılmalı, yani kodlanmalıdır.

    Bunlar elektrik sinyalleridir: akım akar veya akım akmaz.

    Makine ikili dili - "0" ve "1" dizisi. Her ikili sayı 0 veya 1 değerini alabilir.

    Makine ikili kodunun her basamağı 1 bit'e eşit miktarda bilgi taşır.

    En küçük bilgi birimini temsil eden ikili sayıya denir. b BT . Bir bit, 0 veya 1 olabilir. Bilgisayarda manyetik veya elektronik bir sinyalin bulunması, 0'ın olmaması anlamına gelir.

    8 bitlik bir dizi denir b ait . Bilgisayar bu dizeyi ayrı bir karakter (sayı, harf) olarak işler.

    Bir örnek düşünün. ALICE kelimesi, her biri bilgisayar dilinde bir bayt ile temsil edilen 5 harften oluşur (bkz. Şekil 10). Yani Alice 5 bayt olarak ölçülebilir.

    Pirinç. 10. İkili Kod (Kaynak)

    Bit ve baytlara ek olarak, başka bilgi birimleri de vardır.

    bibliyografya

    1. Bosova L.L. Bilişim ve BİT: 5. Sınıf Ders Kitabı. - M.: BİNOM. Bilgi Laboratuvarı, 2012.

    2. Bosova L.L. Bilişim: 5. sınıf çalışma kitabı. - M.: BİNOM. Bilgi Laboratuvarı, 2010.

    3. Bosova L.L., Bosova A.Yu. 5-6. sınıflarda bilişim dersleri: Metodolojik rehber. - M.: BİNOM. Bilgi Laboratuvarı, 2010.

    2. Festival "Açık Ders" ().

    Ev ödevi

    1. §1.6, 1.7 (Bosova L.L. Bilişim ve ICT: 5. Sınıf Ders Kitabı).

    2. Sayfa 28, görevler 1, 4; s. 30, ödevler 1, 4, 5, 6 (Bosova L.L. Bilişim ve ICT: 5. sınıf ders kitabı).