• Sayıların ikili, onaltılık, ondalık, sekizlik sayı sistemlerine çevrilmesi. Sayı sistemleri ve ikilikten ondalığa dönüştürme

    Merhaba site ziyaretçisi! IP ağ katmanı protokolünü ve daha kesin olmak gerekirse IPv4 sürümünü incelemeye devam ediyoruz. İlk bakışta konu ikili sayılar ve ikili sayı sistemi IP protokolü ile ilgisi yoktur, ancak bilgisayarların sıfırlar ve birlerle çalıştığını hatırlarsanız, ikili sistem ve anlayışının temellerin temeli olduğu ortaya çıkar, ihtiyacımız var sayıları ikiliden ondalığa nasıl dönüştüreceğinizi öğrenin ve tersi: ondalıktan ikiliye. Bu, IP protokolünü ve değişken uzunluklu ağ maskelerinin nasıl çalıştığını daha iyi anlamamıza yardımcı olacaktır. Başlayalım!

    Bilgisayar ağları konusuna ilginiz varsa diğer ders kayıtlarını okuyabilirsiniz.

    4.4.1 Giriş

    Başlamadan önce, bir ağ mühendisinin bu konuya neden ihtiyaç duyduğunu açıklamaya değer. Konuştuğumuzda gerekliliğine ikna olmuş olsanız da, IP adreslerini dağıtma, gerekli alt ağ / ağ maskelerini hesaplama ve IP adresindeki ağ numarasını ve ana bilgisayar numarasını belirleme işini büyük ölçüde kolaylaştıran IP hesaplayıcıları olduğunu söyleyebilirsiniz. . Durum böyle, ancak IP hesaplayıcı her zaman elinizin altında değil, bir numaralı sebep bu. İkinci sebep, Cisco sınavlarının size bir IP hesaplayıcı vermemesi ve o kadar. IP adreslerini ondalıktan ikiliye dönüştürmek, bir parça kağıt üzerinde yapmanız gerekecek ve CCNA sertifikası almak için sınavda / sınavlarda bunun gerekli olduğu çok az soru yok, sınavın bu kadar önemsiz bir şey yüzünden boğulması utanç verici olacaktır. Ve son olarak, ikili sayı sistemini anlamak, çalışma prensibinin daha iyi anlaşılmasına yol açar.

    Genel olarak, bir ağ mühendisinin zihninde sayıları ikiliden ondalık sayıya ve tersini çevirebilmesi gerekli değildir. Dahası, nadiren kimse bunu kafasında nasıl yapacağını bilir, çoğunlukla bilgisayar ağlarındaki çeşitli derslerin öğretmenleri, her gün bununla sürekli karşılaştıkları için bu kategoriye aittir. Ancak bir parça kağıt ve bir kalemle tercüme etmeyi öğrenmelisiniz.

    4.4.2 Ondalık basamaklar ve sayılar, sayılardaki basamaklar

    Basitten başlayalım ve ikili basamaklar ve sayılar hakkında konuşalım, sayıların ve sayıların iki farklı şey olduğunu biliyorsunuz. Bir rakam, atama için özel bir semboldür ve bir sayı, bir miktar anlamına gelen soyut bir gösterimdir. Örneğin elimizde beş parmağımız olduğunu yazmak için Roma ve Arap rakamlarını kullanabiliriz: V ve 5. Bu durumda beş hem sayı hem de sayıdır. Ve örneğin, 20 sayısını yazmak için iki rakam kullanırız: 2 ve 0.

    Toplamda ondalık sayı sisteminde on hane veya on karakterimiz (0,1,2,3,4,5,6,7,8,9) birleştirerek farklı sayılar yazabiliriz. Ondalık sayı sistemini kullanırken hangi prensibi izliyoruz? Evet, her şey çok basit, onu bir dereceye yükseltiyoruz, örneğin 321 sayısını alıyoruz. Nasıl farklı yazılabilir, ama şöyle: 3*10 2 +2*10 1 +1*10 0 . Böylece, 321 sayısının üç haneyi temsil ettiği ortaya çıkıyor:

    1. 3 rakamı en anlamlı rakam anlamına gelir veya bu durumda yüzler hanesidir, aksi halde onların sayısıdır.
    2. 2 sayısı onlar basamağında, bizde iki tane onluk var.
    3. Bir sayısı en önemsiz basamaktır.

    Yani, bu girişte, bir ikili sadece bir ikili değil, iki on veya iki çarpı ondur. Üçlü, yalnızca üçlü değil, üç kere yüzdür. Böyle bir bağımlılık ortaya çıkıyor: sonraki her basamağın birimi, bir öncekinin biriminden on kat daha fazladır, çünkü 300, yüzün üç katıdır. İkiliyi anlamayı kolaylaştırmak için ondalık sayı sistemi hakkında bir konudan bahsetmek gerekiyordu.

    4.4.3 İkili basamaklar ve sayılar ve gösterimleri

    İkili sayı sisteminde sadece iki rakam vardır: 0 ve 1. Bu nedenle, bir sayıyı ikili olarak yazmak genellikle ondalıktan çok daha büyüktür. 0 ve 1 hariç, ikili sistemde sıfır, ondalık sistemde sıfıra eşittir ve aynı durum bir için de geçerlidir. Bazen sayının hangi sayı sisteminde yazıldığını karıştırmamak için alt indeksler kullanılır: 267 10, 10100 12, 4712 8. Alt indeksteki sayı, sayı sistemini gösterir.

    0b ve &(ve işareti) karakterleri ikili sayıları yazmak için kullanılabilir: 0b10111, &111. Ondalık sayı sisteminde 245 sayısını telaffuz etmek için şu yapıyı kullanırsak: iki yüz kırk beş, ardından ikili sayı sisteminde sayıyı adlandırmak için sayıyı her basamaktan telaffuz etmemiz gerekir, örneğin, ikili sayı sisteminde 1100 sayısı bin yüz olarak değil bir, bir, sıfır, sıfır olarak okunmalıdır. İkili gösterimde 0'dan 10'a kadar olan sayılara bakalım:

    Bence mantık şimdiye kadar netleşmiş olmalı. Ondalık sayı sisteminde her basamak için on seçeneğimiz varsa (0'dan 9'a kadar dahil), ikili sayı sisteminde bir ikili sayının her bir basamağında yalnızca iki seçeneğimiz vardır: 0 veya 1.

    IP adresleri ve alt ağ maskeleri ile çalışmak için ikili sistemdeki doğal sayılar bizim için yeterli olsa da ikili sistem kesirli ve negatif sayılar yazmamıza izin veriyor ama buna ihtiyacımız yok.

    4.4.4 Sayıları ondalıktan ikiliye dönüştürme

    Hadi daha iyi olalım, bir sayıyı ondalıktan ikiliye dönüştürme. Ve burada her şey aslında çok, çok basit, kelimelerle açıklamak zor olsa da, bu yüzden hemen vereceğim sayıları ondalıktan ikiliye dönüştürme örneği. 61 sayısını ikili sisteme çevirmek için bu sayıyı ikiye bölmemiz ve bölme işleminin geri kalanında ne olduğuna bakmamız gerekiyor. Ve bölme işleminin sonucu yine ikiye bölünür. Bu durumda bölünen 61, bölen olarak hep iki olacak ve bölümü (bölme sonucunu) yine ikiye bölüyoruz, bölüm 1 olana kadar bölmeye devam ediyoruz, bu son birim en soldaki rakam olacak . Aşağıdaki şekil bunu göstermektedir.

    Aynı zamanda 61 sayısının 101111 değil 111101 olduğuna dikkat edin yani sonucu baştan yazıyoruz. Sonuncusunda ikiye bölmenin özel bir anlamı yoktur, çünkü bu durumda tamsayılı bölme kullanılır ve bu yaklaşımla Şekil 4.4.2'deki gibi olur.

    Bu, bir sayıyı ikiliden ondalık sayıya dönüştürmenin en hızlı yolu değildir.. Birkaç hızlandırıcımız var. Örneğin ikili sistemde 7 sayısı 111, 3 sayısı 11 ve 255 sayısı 11111111 olarak yazılır. Bütün bu durumlar son derece basittir. Gerçek şu ki, 8, 4 ve 256 sayıları ikinin kuvvetleridir ve 7, 3 ve 255 sayıları bu sayılardan bir eksiktir. Dolayısıyla, ikinin kuvvetine eşit bir sayıdan bir eksik olan bir sayı için basit bir kural geçerlidir: ikili sistemde, böyle bir ondalık sayı, ikinin kuvvetine eşit birim sayısı olarak yazılır. Yani örneğin 256 sayısı ikinin sekizinci kuvvetidir, bu nedenle 255 11111111 olarak yazılır ve 8 sayısı ikinin üçüncü kuvvetidir ve bu bize ikili sistemde 7'nin 111 olarak yazılacağını söyler. Pekala, anlayın, 256, 4 ve 8'i ikili olarak yazmak da zor değil, sadece bir tane ekleyin: 256 = 11111111 + 1 = 100000000; 8 = 111 + 1 = 1000; 4 = 11 + 1 = 100.
    Sonuçlarınızdan herhangi birini bir hesap makinesinde kontrol edebilirsiniz ve ilk başta bunu yapmak daha iyidir.

    Gördüğünüz gibi paylaşmayı henüz unutmadık. Ve şimdi devam edebiliriz.

    4.4.5 Sayıları ikiliden ondalığa dönüştürme

    Sayıları ikili sistemden dönüştürmek, ondalıktan ikiliye dönüştürmekten çok daha kolaydır. Çeviri örneği olarak 11110 sayısını kullanacağız. Aşağıdaki tabloya dikkat edin, sonunda bir ondalık sayı elde etmek için ikiye yükseltmeniz gereken kuvveti gösterir.

    Bu ikili sayıdan bir ondalık sayı elde etmek için, basamaktaki her sayıyı ikinin kuvvetiyle çarpmanız ve ardından çarpma sonuçlarını eklemeniz gerekir, bunu göstermek daha kolaydır:

    1*2 4 +1*2 3 +1*2 2 +1*2 1 +0*2 0 = 16+8+4+2+0=30

    Hesap makinesini açalım ve ondalık basamakta 30'un ikili düzende 11110 olduğundan emin olalım.

    Her şeyin doğru yapıldığını görüyoruz. Örnekten anlaşılacağı üzere bir sayıyı ikiliden ondalığa dönüştürmek, geri dönüştürmekten çok daha kolaydır. Güvenle çalışmak için yalnızca ikinin 2 8'e kadar olan kuvvetlerini hatırlamanız gerekir. Açıklık için bir tablo vereceğim.

    Daha fazlasına ihtiyacımız yok, çünkü bir bayta (8 bit veya sekiz ikili değer) yazılabilecek maksimum olası sayı 255'tir, yani IP adresinin veya IPv4 alt ağ maskesinin her sekizlisinde mümkün olan maksimum değer şudur: 255. 255'ten büyük değerlerin olduğu alanlar var ama bunları hesaplamamıza gerek yok.

    4.4.6 İkili sayılarla toplama, çıkarma, çarpma ve ikili sayılarla diğer işlemler

    şimdi bakalım ikili sayılar üzerinde yapılabilecek işlemler. Basit aritmetik işlemlerle başlayalım ve ardından Boolean cebir işlemlerine geçelim.

    ikili toplama

    İkili sayıları toplamak o kadar da zor değil: 1+0 =1; 1+1=0 (daha sonra açıklama yapacağım); 0+0=0. Bunlar sadece bir rakamın kullanıldığı basit örneklerdi, şimdi hane sayısının birden fazla olduğu örneklere bakalım.
    101 + 1101 ondalık olarak 5 + 13 = 18'dir. Bir sütunda sayalım.

    Sonuç turuncu renkle vurgulanmış, hesap makinesi doğru hesapladığımızı söylüyor, kontrol edebilirsiniz. Şimdi bunun neden olduğuna bakalım, çünkü ilk başta 1 + 1 = 0 yazmıştım, ancak bu sadece bir rakamımız olduğu durum için, birden fazla rakamın olduğu durumlar için, 1 + 1 = 10 (veya iki) ondalık olarak), bu mantıklı.

    Sonra bakın ne oluyor sağdan sola rakamlarla toplama yapıyoruz:

    1. 1+1=10, sıfır yaz ve bir sonraki bite gider.

    2. Bir sonraki basamakta 0+0+1=1 elde edilir (bu birim bize 1. adımdaki toplama sonucundan geldi).

    4. Burada sadece ikinci sayı için bir birimimiz var ama buraya aktarılmış yani 0 + 1 + 1 = 10.

    5. Her şeyi birbirine yapıştırın: 10|0|1|0.

    Tembellik bir sütunda ise şöyle sayalım: 101011 + 11011 veya 43 + 27 = 70. Burada ne yapabiliriz ama bakalım çünkü kimse dönüşüm yapmamızı yasaklamıyor ve toplam değişmekten değişmiyor terimlerin yerleri, ikili sayı sistemi için de bu kural geçerlidir.

    1. 101011 = 101000 + 11 = 101000 + 10 + 1 = 100000 + 1000 + 10 + 1.
    2. 11011 = 11000 + 10 + 1 = 10000 + 1000 + 10 + 1.
    3. 100000 + 10000 + (1000 +1000) + (10+10) + (1+1).
    4. 100000 + (10000 + 10000) + 100 + 10.
    5. 100000 + 100000 +110
    6. 1000000 + 110.
    7. 1000110.

    Bir hesap makinesi ile kontrol edebilirsiniz, ikili sistemde 1000110, ondalık sistemde 70'tir.

    İkili sayıların çıkarılması

    İkili sayı sisteminde tek basamaklı sayıları çıkarmak için hemen örnek, negatif sayılardan bahsetmedik, bu nedenle 0-1'i dikkate almıyoruz: 1 - 0 = 1; 0 - 0 = 0; 1 - 1 = 0. Birden fazla rakam varsa, o zaman her şey de basittir, hatta hiçbir sütuna ve numaraya gerek yoktur: 110111 - 1000, bu 55 - 8 ile aynıdır. Sonuç olarak, 101111 elde ederiz. Ve kalp atmayı durdurdu , üçüncü basamaktaki birim nereden geliyor (soldan sağa ve sıfırdan başlıyor)? Evet, her şey basit! 110111 sayısının ikinci basamağında 0, birinci basamağında 1 vardır (rakamların numaralandırılmasının 0'dan başlayıp soldan sağa doğru gittiğini varsayarsak), ancak dördüncü basamağın birimi elde edilir. üçüncü basamağın iki birimini ekleyerek (bir tür sanal iki elde edilir) ve bu ikiliden 1000 sayısının sıfır basamağında olan birini çıkarırız, ancak 2 - 1 \u003d 1, peki, 1 geçerli ikili sayı sisteminde rakam.

    İkili sayıların çarpımı

    Geriye bir bit sola kaydırarak gerçekleştirilen ikili sayıların çarpımını düşünmek kalır.. Ama önce tek basamaklı bir çarpmanın sonuçlarına bakalım: 1*1 = 1; 1*0=0 0*0=0. Aslında her şey basit, şimdi daha karmaşık bir şeye bakalım. 101001 (41) ve 1100 (12) sayılarını ele alalım. Bir sütunla çarpacağız.

    Nasıl olduğu tablodan net değilse, kelimelerle açıklamaya çalışacağım:

    1. İkili sayıları bir sütunda çarpmak uygundur, bu nedenle ikinci faktörü birincinin altına yazarız, eğer sayıların farklı basamak sayıları varsa, o zaman daha büyük sayı üstte ise daha uygun olacaktır.
    2. Bir sonraki adım, birinci sayının tüm basamaklarını ikinci sayının en önemsiz basamağıyla çarpmaktır. Çarpmanın sonucunu aşağıya yazıyoruz, bu durumda çarpma sonucu karşılık gelen her basamağın altına yazılacak şekilde yazmak gerekir.
    3. Şimdi birinci sayının tüm basamaklarını ikinci sayının sonraki basamağıyla çarpıp sonucu bir satır daha aşağıya yazmamız gerekiyor ama bu sonucu bir basamak sola kaydırmak gerekiyor tabloya bakarsanız bu üstten ikinci sıfır dizisidir.
    4. Sonraki basamaklar için de aynısını yapmanız gerekiyor, her seferinde bir basamak sola gidiyor ve tabloya bakarsanız bir hücre sola diyebilirsiniz.
    5. Şimdi toplamamız ve sonucu almamız gereken dört ikili sayımız var. Son zamanlarda düşündüğümüz ek olarak, sorunlar ortaya çıkmamalı.

    Genel olarak, çarpma işlemi o kadar zor değildir, sadece biraz pratik yapmanız gerekir.

    Boole cebri işlemleri

    Boole cebirinde çok önemli iki kavram vardır: doğru (doğru) ve yanlış (yanlış), ikili sayı sisteminde bunların karşılığı sıfır ve birdir. Boole cebri operatörleri, bu değerler üzerindeki mevcut operatörlerin sayısını genişletir, onlara bir göz atalım.

    "Mantıksal VE" veya VE işlemi

    "Mantıksal AND" veya AND işlemi, bir bitlik ikili sayıları çarpmaya eşdeğerdir.

    1 VE 1 = 1; 1 VE 0 = 1; 0 VE 0 = 0; 0 VE 1 = 0.

    1 VE 1 = 1 ;

    1 VE 0 = 1 ;

    0 VE 0 = 0 ;

    0 VE 1 = 0.

    "Mantıksal VE" sonucu, yalnızca her iki değer de bire eşitse bir olur, diğer tüm durumlarda sıfır olur.

    Operasyon "Mantıksal VEYA" veya VEYA

    "Mantıksal OR" veya OR işlemi şu prensibe göre çalışır: en az bir değer bire eşitse, sonuç bir olacaktır.

    1 VEYA 1 = 1; 1 VEYA 0 = 1; 0 VEYA 1 = 1; 0 VEYA 0 = 0.

    1 VEYA 1 = 1 ;

    1 VEYA 0 = 1 ;

    0 VEYA 1 = 1 ;

    0 VEYA 0 = 0.

    XOR İşlemi

    XOR işlemi veya XOR, yalnızca işlenenlerden biri bire, ikincisi sıfıra eşitse bize bir sonucunu verecektir. Her iki işlenen de sıfırsa sıfır olur ve her iki işlenen de bire eşit olsa bile sonuç sıfır olur.

    Sayıları ondalıktan ikiliye hızlı bir şekilde dönüştürmek için "2 üzeri 2" sayılarını iyi bilmeniz gerekir. Örneğin, 2 10 \u003d 1024 vb. Bu, çeviri için bazı örnekleri saniyeler içinde çözmenize olanak tanır. Bu görevlerden biri, USE demo 2012'den A1 görevi. Elbette sayıyı uzun ve sıkıcı bir şekilde "2" ye bölebilirsiniz. Ancak sınavda değerli zamandan tasarruf ederek farklı şekilde karar vermek daha iyidir.

    Yöntem çok basit. Onun özü şudur: ondalık sistemden dönüştürülecek sayı "2 üssü" sayısına eşitse, ikili sistemdeki bu sayı, kuvvete eşit sıfır sayısını içerir. Bu sıfırların önüne "1" ekliyoruz.

    • 2 sayısını ondalık sistemden çevirelim. 2=2 1 . Bu nedenle, ikili sistemde sayı 1 sıfır içerir. Önüne "1" koyarız ve 10 2 elde ederiz.
    • 4'ü ondalık sistemden çevirelim. 4=2 2 . Bu nedenle, ikili sistemde sayı 2 sıfır içerir. Başına "1" koyarız ve 100 2 elde ederiz.
    • 8'i ondalık sistemden çevirelim. 8=2 3 . Bu nedenle, ikili sistemde sayı 3 sıfır içerir. Başına "1" koyarız ve 1000 2 elde ederiz.


    Benzer şekilde diğer sayılar için "2 üzeri".

    Çevrilecek sayı "2 üssü" sayısından 1'den küçükse, ikili sistemde bu sayı yalnızca sayıları güce eşit olan birimlerden oluşur.

    • 3'ü ondalık sistemden çevirelim. 3=2 2 -1. Bu nedenle, ikili sistemde sayı 2'yi içerir. 11 2 elde ederiz.
    • 7'yi ondalık sistemden çevirelim. 7=2 3 -1. Bu nedenle, ikili sistemde sayı 3'ü içerir. 111 2 elde ederiz.

    Şekilde, kareler sayının ikili temsilini, solda ise ondalık gösterimi pembedir.


    Çeviri, "2'nin -1'in gücü" olan diğer sayılar için benzerdir.

    0'dan 8'e sayıları çevirmenin hızlı bir şekilde veya bölerek yapılabileceği veya ikili sistemdeki temsillerini ezbere bilebileceği açıktır. Bu örnekleri, bu yöntemin prensibini anlamanız ve daha "etkileyici sayıları" çevirmek için kullanmanız için verdim, örneğin 127,128, 255, 256, 511, 512, vb.

    "2 üzeri" sayısına eşit olmayan, ancak ona yakın bir sayıyı çevirmeniz gerektiğinde bu tür görevleri yerine getirebilirsiniz. "2 üzeri" sayısından büyük veya küçük olabilir. Çevrilen sayı ile "2 üzeri" sayı arasındaki fark küçük olmalıdır. Örneğin, 3'e kadar. İkili sistemde 0'dan 3'e kadar olan sayıların temsili, çeviri olmadan basitçe bilinmelidir.

    Sayı daha büyükse, bunu şu şekilde çözeriz:

    Önce "2 üzeri" sayısını ikili sisteme çeviriyoruz. Ve sonra ona "2 üssü" sayısı ile çevrilen sayı arasındaki farkı ekliyoruz.

    Örneğin 19'u ondalık sistemden çevirelim. "2 üzeri" sayısından 3 kat büyüktür.

    16=2 4 . 16 10 =10000 2 .

    3 10 =11 2 .

    19 10 =10000 2 +11 2 =10011 2 .

    Sayı "2 üssü -1" sayısından küçükse, "2 üssü -1" sayısını kullanmak daha uygundur. Şöyle karar veriyoruz:

    Önce "2 üzeri -1" sayısını ikili sisteme çeviriyoruz. Ve sonra "2 üzeri -1" sayısı ile çevrilen sayı arasındaki farkı ondan çıkarın.

    Örneğin 29'u ondalık sistemden çevirelim. "2 üzeri 1" sayısından 2 fazladır. 29=31-2.

    31 10 =11111 2 .

    2 10 =10 2 .

    29 10 =11111 2 -10 2 =11101 2

    Çevrilen sayı ile "2 üssü" sayısı arasındaki fark üçten fazlaysa, sayıyı bileşenlere ayırabilir, her bir parçayı ikili sisteme dönüştürebilir ve toplayabilirsiniz.

    Örneğin, 528 sayısını ondalık sistemden çevirin. 528=512+16. 512 ve 16'yı ayrı ayrı çeviriyoruz.
    512=2 9 . 512 10 =1000000000 2 .
    16=2 4 . 16 10 =10000 2 .
    Şimdi sıralayalım:

    Materyallerimizden birinde, tanımını ele aldık. En kısa alfabeye sahiptir. Sadece iki rakam: 0 ve 1. Konumsal sayı sistemlerinin alfabe örnekleri tabloda verilmiştir.

    Konumsal sayı sistemleri

    sistem adı

    Temel

    Alfabe

    İkili

    üçlü

    dördüncül

    beş kat

    sekizli

    Ondalık

    0,1,2,3,4,5,6,7,8,9

    onikilik

    0,1,2,3,4,5,6,7,8,9,A,B

    onaltılık

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

    otuz altı

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G, H,I,J,K,L,M,N,O, P,R,S,T,U,V,X,Y,Z


    Küçük bir sayıyı ondalıktan ikiliye ve tersi yönde dönüştürmek için aşağıdaki tabloyu kullanmak daha iyidir.

    0'dan 20'ye ondalık sayıları ikili sayı sistemine dönüştürme tablosu.

    ondalık

    sayı

    ikili numara

    ondalık

    sayı

    ikili numara


    Ancak, tüm sayıları oraya yazarsanız tablo çok büyük olacaktır. Aralarında doğru sayıyı bulmak daha zor olacaktır. Sayıları bir konumsal sayı sisteminden diğerine çevirmek için birkaç algoritmayı hatırlamak çok daha kolaydır.


    Bir sayı sisteminden diğerine nasıl dönüştürülür? Bilgisayar biliminde, ondalık sayıları ikili sayılara dönüştürmenin birkaç basit yolu vardır. Bunlardan ikisini ele alalım.

    Yöntem numarası 1.

    Diyelim ki bir sayıyı çevirmek istiyorsunuz. 637 ondalık sistemden ikili sisteme.


    Bu şu şekilde yapılır: ikisinin maksimum kuvveti bulunur, böylece bu kuvvetteki iki, orijinal sayıdan küçük veya ona eşittir.


    Bizim durumumuzda bu 9, çünkü 2 9 =512 , A 2 10 =1024 , ilk sayımızdan daha büyük. Böylece sonucun basamak sayısını elde etmiş oluyoruz. 9+1=10'a eşittir. Bu, sonucun 1ххххххххх gibi görüneceği anlamına gelir, burada x yerine 1 veya 0 olabilir.


    Sonucun ikinci basamağını bulun. İkinin 9'uncu kuvvetini yükseltelim ve orijinal sayıdan çıkaralım: 637-2 9 = 125. Sonra sayı ile karşılaştır 2 8 =256 . 125, 256'dan küçük olduğu için, dokuzuncu bit 0 olacaktır, yani. sonuç zaten 10хххххххх şeklini alacaktır.


    2 7 =128 > 125 , bu nedenle sekizinci basamak sıfır olacaktır.


    2 6 =64 , o zaman yedinci basamak 1'e eşittir. 125-64=61 Böylece, dört yüksek dereceli basamak elde ettik ve sayı 10011ххххх gibi görünecektir.


    2 5 =32 ve bunu gör 32< 61, значит шестой разряд равен 1 (результат 100111хххх), остаток 61-32=29.


    2 4 =16 < 29 - beşinci basamak 1 => 1001111xxx. Kalan 29-16=13.


    2 3 =8 < 13 => 10011111xx. 13-8=5


    2 2 =4 < 5 => 10011111xx, kalan 5-4=1.


    2 1 =2 > 1 => 100111110x, kalan 2-1=1.


    2 0 =1 => 1001111101.


    Nihai sonuç bu olacaktır.

    Yöntem numarası 2.

    Tamsayılı ondalık sayıları ikili sayı sistemine çevirmenin kuralı şudur:

    1. hadi bölüşelim a n−1 a n−2 ...a 1 a 0 =a n−1⋅2 n−1 +a n−2⋅2 n−2 +...+a 0⋅2 0'a 2.
    2. bölüm olacak bir-1⋅2n−2+...+a1, ve kalan
    3. Ortaya çıkan bölüm tekrar 2'ye bölünür, bölme işleminin kalanı a1'e eşit olur.
    4. Bu bölme işlemine devam edersek, n. adımda bir dizi sayı elde ederiz: a 0 ,a 1 ,a 2 ,...,a n−1, orijinal sayının ikili gösteriminde yer alır ve art arda 2'ye bölündüğünde kalanlarla çakışır.
    5. Bu nedenle, bir ondalık tamsayıyı ikili sayı sistemine dönüştürmek için, sıfıra eşit olacak bölümü elde edene kadar verilen sayıyı ve ortaya çıkan tamsayı bölümleri sırayla 2'ye bölmeniz gerekir.

    İkili sayı sistemindeki orijinal sayı, ortaya çıkan kalıntıların sıralı olarak kaydedilmesiyle derlenir. En son bulunandan yazmaya başlıyoruz.


    Ondalık sayıyı dönüştür 11 ikili sisteme. Yukarıda ele alınan eylemlerin sırası (çeviri algoritması) aşağıdaki gibi gösterilebilir:


    Var 11 10 =1011 2 .

    Örnek:

    Ondalık sayı yeterince büyükse, yukarıdaki algoritmayı yazmanın aşağıdaki yolu daha uygundur:



    363 10 =101101011 2



    Modern dünyada en yaygın hesaplama yöntemleri ondalık ve ikilidir. Tamamen farklı alanlarda kullanılırlar, ancak ikisi de eşit derecede önemlidir. Genellikle ikiliden ondalık sayıya veya tam tersi bir dönüşüm de gereklidir. İsimler, sayıları yazarken kaç karakter kullanıldığına bağlı olarak tabanlardan gelir. İkili sistemde sadece 0 ve 1'dir ve ondalık sistemde 0'dan 9'a kadardır. Diğer sistemlerde sayılara ek olarak harfler, diğer simgeler ve hatta hiyeroglifler kullanılır, ancak bunların neredeyse tamamı çoktan eskimiştir. Diğer sayı sistemleri çeşitleri bile çok daha az yaygın olduğundan, öncelikle yukarıda belirtilen ikisine odaklanacağız. Tüm bunların nasıl ortaya çıkabildiği gerçekten şaşırtıcı. Bu konuyu ayrı ayrı konuşalım.

    Oluşum tarihi

    Şimdi bile, tüm dünya aynı şekilde düşünüyormuş gibi görünse de, çok farklı sistemler var. Dünyanın en ücra köşelerinde sadece "bir", "iki" ve "çok" gibi kavramlarla yetiniyorlar. İnsanların birbirleriyle iletişim kurmasının çok daha zor olduğu, bu nedenle çok sayıda farklı türde kayıt ve hesaplama yönteminin kullanıldığı zamanlar hakkında ne söyleyebiliriz? İnsanoğlu mevcut sisteme hemen gelmedi ve bu, saatin 100 zaman aralığına değil 60 dakikaya bölünmesi gerçeğine yansıdı ki bu daha mantıklı görünecek. Ve aynı zamanda, insanlar genellikle düzinelerce yerine onlarca sayarlar. Bütün bunlar, kişinin kendi parmaklarının veya örneğin bazılarının falankslarının bir şeyi ölçmek için araç görevi gördüğü zamanın yankılarıdır. Ondalık ve onikilik sistemler bu şekilde ortaya çıktı. Ancak ikili nasıl ortaya çıktı? Çok basit ve mantıklı. Gerçek şu ki, örneğin diyotların yalnızca iki konumu vardır: açık veya kapalı olabilir. Bu nedenle birinci durum 1, ikincisi 0 olarak yazılabilir. Ancak bu, ikili sistemin elektronik cihazlarla aynı anda ortaya çıktığı anlamına gelmez. Çok daha önce kullanıldı, örneğin Leibniz onu son derece kullanışlı, zarif ve basit olarak görüyordu. Bu sayı sisteminin sonunda ana sistem haline gelmemiş olması bile şaşırtıcı.

    Uygulamalar

    Çoğu insan için, iki ana sayı sistemi basitçe örtüşmez. Dolayısıyla, ikiliden ondalık sayıya dönüştürmek herkes için mümkün olmayan bir görevdir. Gerçek şu ki, ikinci sistem günlük yaşamda, insanlar arasındaki iletişimde, basit hesaplamalar vb. Her masaüstü bilgisayarın, tabletin, telefonun, dizüstü bilgisayarın ve diğer birçok cihazın belleğinde bulunan herhangi bir bilgi, sıfır ve birlerin çeşitli kombinasyonlarıdır.

    Farklılıklar ve özellikler

    Sayı sistemleri söz konusu olduğunda, aralarında bir ayrım yapmak zorunludur. Zaten böyle farklı kayıt yöntemlerinde 11'i 100'ü ayırt etmek kesinlikle mümkün değil. Bu nedenle, sayının altındaki ve sağındaki işaretçi kullanılır. Yani 11 2 veya 100 10 rekorunu gördüğünüzde neyin tehlikede olduğunu anlayabilirsiniz. Her iki sistem de konumsaldır, yani değeri belirli bir rakamın yerine bağlıdır. Okulda ondalık sistemin rakamları hakkında konuşuyorlar: birimler var, onlar, yüzler, binler vs. İkili sistemde her şey aynı. Ancak tabanı - 2 - 10'dan az olduğu için çok daha fazla rakama ihtiyacı var, yani sayıların kaydı çok daha uzun. Bu arada ikili sistemde, diğer tüm sistemlerde olduğu gibi, ondalık sistem dışında en yaygın olarak okuma özel bir şekilde gerçekleşir. 10 tabanı 101'i "yüz bir" olarak okumayı mümkün kılıyorsa, 2 için "bir sıfır bir" olacaktır.

    Tahliye konusuna dönersek, çok daha küçük taban nedeniyle daha fazla tahliyenin gerekli olduğu tekrarlanmalıdır. Örneğin, 8 10, 1000 2'dir. Fark açıktır - bir basamak ve dört. Bir diğer önemli fark, ikili sistemde negatif sayıların olmamasıdır. Tabii ki not edebilirsiniz, ancak yine de farklı bir şekilde saklanacak ve şifrelenecektir. Peki, ikiliden ondalık sayıya ve tam tersi çeviri nasıl yapılır?

    algoritma

    Nadiren, ancak yine de bazen bir tabandan diğerine geçiş yapmanız gerekir. Başka bir deyişle, ikiliden ondalık sayıya ve tam tersine dönüştürmeye ihtiyaç vardır. Modern bilgisayarlar, kayıtlar çok uzun ve hacimli olsa bile bunu kolay ve hızlı bir şekilde yapar. İnsanlar da bunu çok daha yavaş ve daha az etkili olsa da yapabilirler. Hem birinci hem de ikinci ameliyatı yapmak o kadar zor değil ama nasıl yapılacağı bilgisi, dikkat ve pratik gerekiyor. 2 tabanından 10 tabanına geçmek için aşağıdaki adımları uygulamanız gerekir:

    2) değeri, konum numarasına eşit güce yükseltilen 2 ile art arda çarpın;

    3) sonuçları toplayın.

    Başka bir yol da, sayıların çarpımlarını sırayla sağdan sola doğru toplamaya başlamaktır. Buna Horner dönüşümü denir ve birçok kişiye normal algoritmadan daha uygun görünmektedir.

    Ters işlemi gerçekleştirmek, yani ondalıktan ikiliye geçmek için aşağıdakileri yapmanız gerekir:

    1) orijinal sayıyı 2'ye bölün ve kalanı yazın (1 veya 0);

    2) sadece 0 veya 1 kalana kadar 1. adımı tekrarlayın;

    3) elde edilen değerleri sırayla yazınız.

    İkiliden ondalık sayıya dönüştürmenin ve bunun tersini yapmanın başka yolları da vardır. Ancak açıklanan algoritmaya göre herhangi bir avantajları yoktur, daha verimli değildirler. Ancak ikili sistemde aritmetik işlemleri gerçekleştirme becerisine ihtiyaç duyarlar ki bu çok az kişide mevcuttur.

    kesirler

    Neyse ki ya da ne yazık ki, ikili sistemde yalnızca tam sayıların kullanılmadığı gerçeği devam ediyor. Kesirlerin çevirisi çok zor değildir, ancak genellikle bir kişi için zahmetli bir iştir. Orijinal sayı ondalık sistemde temsil ediliyorsa, tam sayıyı dönüştürdükten sonra, ondalık noktadan sonraki her şey artık bölünmemeli, 2 ile çarpılmalı ve tüm kısımlar yazılmalıdır. İkilikten ondalığa dönüştürüyorsanız, her şey daha da basittir. Bu durumda, ondalık nokta dönüştürme başladığında, 2'nin yükseltildiği kuvvet sırayla -1, -2, -3 vb. Olacaktır. Bunu pratikte düşünmek en iyisidir.

    Örnek

    Açıklanan algoritmaların nasıl uygulanacağını anlamak için tüm işlemleri kendiniz yapmanız gerekir. Pratik her zaman teoriyi güçlendirebilir, bu nedenle aşağıdaki örnekleri göz önünde bulundurmak en iyisidir:

    • 1000101 2'yi ondalık sayıya dönüştürmek: 1x2 6 + 0x2 5 + 0x2 4 + 0x2 3 + 1x2 2 + 0x2 1 + 1x2 0 = 64+0+0+0+4+1 = 69 10;
    • Horner'ın yöntemini kullanarak. 00110111010 2 = 0x2+0=0x2+0=0x2+1=1x2+1=3x2+0=6x2+1=13x2+1=27x2+1=55x2+0=110x2+1=221x2+0=442 10 ;
    • 1110.01 2: 1x2 3 + 1x2 2 + 1x2 1 + 0x2 0 + 0x2 -1 + 1x2 -2 \u003d 8 + 4 + 2 + 0,25 \u003d 14,25 10;
    • ondalık sistemden: 15 10 = 15/2=7(1)/2=3(1)/2=1(1)/2=0(1)= 1111 2 ;

    Nasıl kafanız karışmaz?

    Yalnızca ikili ve ondalık sistemler örneğinde bile, tabanı manuel olarak değiştirmenin önemsiz bir görev olmadığı ortaya çıkıyor. Ancak başkaları da vardır: onaltılık, sekizlik, altmışlık vb. Bir sayı sisteminden diğerine manuel olarak dönüştürürken, son derece dikkatli olunması gerekir. Özellikle gönderi uzunsa, kafanızın karışmaması gerçekten zor. Ayrıca rakamların 1'den değil 0'dan sayıldığını, yani hane sayısının her zaman bir fazla olacağını unutmamalıyız. Elbette basamak sayısını dikkatlice saymanız ve aritmetik işlemlerde hata yapmamanız ve tabii ki algoritmadaki adımları atlamamanız gerekir. Nihayetinde, bazlar arasında programatik olarak geçiş yapmanın yolları vardır. Ancak burada, dünya çapındaki ağın uçsuz bucaksızlığında aramaktansa kendi başınıza bir komut dosyası yazmak daha kolaydır. Her durumda, manuel çeviri becerisinin yanı sıra bunun nasıl yapıldığına dair teorik bir anlayış da olmalıdır.

    Talimat

    İlgili videolar

    Her gün kullandığımız sayma sisteminde sıfırdan dokuza kadar on basamak vardır. Bu yüzden ondalık olarak adlandırılır. Ancak teknik hesaplamalarda, özellikle bilgisayarlarla ilgili olanlarda, diğer sistemler, özellikle ikili ve onaltılık. Bu nedenle, tercüme edebilmeniz gerekir. sayılar birinden sistemler başkasına hesap vermek

    İhtiyacın olacak

    • - kağıt parçası;
    • - kurşun kalem veya tükenmez kalem;
    • - hesap makinesi.

    Talimat

    İkili sistem en basit olanıdır. Sadece iki rakamı vardır - sıfır ve bir. İkiliğin her basamağı sayılar, sondan başlayarak, ikinin gücüne karşılık gelir. İki eşittir bir, birinci eşittir iki, ikinci eşittir dört, üçüncü eşittir sekiz vb.

    Diyelim ki size 1010110 ikili bir sayı verildi. İçindeki birimler sondan itibaren ikinci, üçüncü, beşinci ve yedinci sıralardadır. Yani ondalık olarak bu sayı 2^1 + 2^2 + 2^4 + 2^6 = 2 + 4 + 16 + 64 = 86'dır.

    Ters problem - ondalık sayılar sistem. Diyelim ki elinizde 57 sayısı var. Rekorunu almak için bu sayıyı sırayla 2'ye bölüp kalanını yazmalısınız. İkili sayı sondan başa inşa edilecektir.
    İlk adım size son rakamı verecektir: 57/2 = 28 (kalan 1).
    Sonra sondan ikinciyi elde edersiniz: 28/2 = 14 (kalan 0).
    Diğer adımlar: 14/2 = 7 (kalan 0);
    7/2 = 3 (kalan 1);
    3/2 = 1 (kalan 1);
    1/2 = 0 (kalan 1).
    Bölmenin sonucu sıfır olduğu için bu son adımdır. Sonuç olarak, 111001 ikili numarasını aldınız.
    Cevabınızın doğru olup olmadığını kontrol edin: 111001 = 2^0 + 2^3 + 2^4 + 2^5 = 1 + 8 + 16 + 32 = 57.

    Bilgisayar konularında kullanılan ikincisi onaltılıktır. On değil, on altı hanelidir. Yeni kuralları önlemek için onaltılı sayının ilk on basamağı sistemler sıradan sayılarla ve geri kalan altı Latin harfleriyle gösterilir: A, B, C, D, E, F. ondalık gösterime karşılık gelirler sayılar 10'dan 15'e m. Karışıklığı önlemek için, onaltılık olarak yazılan bir sayıdan önce bir # işareti veya 0x karakteri gelir.

    Onaltılıktan numaralandırmaya sistemler, basamaklarının her birini on altının karşılık gelen gücüyle çarpmanız ve sonuçları eklemeniz gerekir. Örneğin, ondalık gösterimde #11A 10*(16^0) + 1*(16^1) + 1*(16^2) = 10 + 16 + 256 = 282'dir.

    Ondalıktan ters çeviri sistemler onaltılıya dönüştürme, ikili sistemdekiyle aynı kalan yöntemiyle gerçekleştirilir. Örneğin, 10000 sayısını alın. Art arda 16'ya bölerek ve kalanı yazarak, şunu elde edersiniz:
    10000/16 = 625 (kalan 0).
    625/16 = 39 (kalan 1).
    39/16 = 2 (kalan 7).
    2/16 = 0 (kalan 2).
    Hesaplamanın sonucu onaltılık sayı #2710 olacaktır.
    Cevabınızı kontrol edin: #2710 = 1*(16^1) + 7*(16^2) + 2*(16^3) = 16 + 1792 + 8192 = 10000.

    Aktar sayılar onaltılıktan sistemler ikili çok daha kolaydır. 16 sayısı ikidir: 16 = 2^4. Bu nedenle, her onaltılık basamak, dört basamaklı bir ikili sayı olarak yazılabilir. İkilide dört basamaktan daha azını alırsanız, başa sıfır ekleyin.
    Örneğin, #1F7E = (0001)(1111)(0111)(1110) = 1111101111110.
    Cevabınızın doğru olup olmadığını kontrol edin: her ikisi de sayılar ondalık gösterimde 8062'dir.

    Çevirmek için, ikili sayıyı sondan başlayarak dört haneli gruplara ayırmanız ve bu tür her grubu onaltılık bir rakamla değiştirmeniz gerekir.
    Örneğin, 11000110101001, (0011)(0001)(1010)(1001) olur ve onaltılık olarak #31A9 olur. Cevabın doğruluğu ondalık gösterime dönüştürülerek onaylanır: her ikisi de sayılar 12713'e eşittir.

    Tavsiye 5: Bir sayıyı ikili sayıya nasıl dönüştürebilirim?

    Sembollerin sınırlı kullanımı nedeniyle, ikili sistem bilgisayarlarda ve diğer dijital cihazlarda kullanım için en uygun olanıdır. Yalnızca iki karakter vardır: 1 ve 0, yani bu sistem kayıtlarda kullanılır.

    Talimat

    İkili konumsaldır, yani sayıdaki her basamağın konumu, karşılık gelen derecede ikiye eşit olan belirli bir basamağa karşılık gelir. Derece sıfırdan başlar ve sağdan sola gidildikçe artar. Örneğin, sayı 101, 1*2^0 + 0*2^1 + 1*2^2 = 5'e eşittir.

    Sekizlik, onaltılık ve ondalık sistemler de konumsal sistemler arasında yaygın olarak kullanılmaktadır. Ve ikinci yöntem ilk ikisi için daha uygunsa, o zaman her ikisi de çeviri için geçerlidir.

    Ondalık sayıyı ikili olarak düşünün sistem 2'ye ardışık bölme yöntemi. Ondalık basamağı çevirmek için sayı 25 inç