Ondalık sistemden diğerine nasıl dönüştürülür. konumsal sayı sistemleri. Ondalık sayı sisteminin tamsayı bölümünün çevirisi

  • 17.05.2019

sayıları çevirirken ondalık sistem diğerlerine göre, her zaman ayrı ayrı (göre farklı kurallar) tamsayı ve kesirli parçalara çevirir.

Bütün bölümün tercümesi

Bir sayıyı ondalık sayı sisteminden diğerine dönüştürmek için, yürütmeniz gerekir. tamsayı bölümü asıl sayı, sayının dönüştürüleceği sayı sisteminin tabanına. Bu durumda, bölümün geri kalanı ve bölüm önemlidir. Bölüm, 0 kalana kadar tabana bölünmelidir.Bundan sonra, kalanların tümü ters sırada yazılmalıdır - bu, içindeki sayı olacaktır. yeni sistem hesaplaşma.

Örneğin, çeviri - ondalıktan ikiliye 25 sayısı şöyle görünür:

Kalanları ters sırada yazarsak 25 10 =11001 2 elde ederiz.

Bunu düşünürseniz, kesinlikle herhangi bir sayıyı çevirirken kolayca fark edebilirsiniz. İkili sistem Hesaplama, son kalan (yani, sonuçtaki ilk basamak) her zaman, sayıyı dönüştürdüğümüz sayı sisteminin tabanından daha az olduğu ortaya çıkan en son bölüme eşit olacaktır. Bu nedenle, bölme genellikle, bölüm sıfıra eşit olmadan önce - bölümün tabandan daha küçük olduğu anda - durdurulur. Örneğin:

Ondalık sayı sisteminden başka bir sayı sistemine çeviri tamamen aynı kurallara göre yapılır. İşte 393 10'u şu dile çevirmenin bir örneği: onaltılık sistem hesaplaşma:

Kalanları tersten yazarsak 393 10 =189 16 elde ederiz.

Kalanların ondalık sayı sisteminde elde edildiğini anlamalısınız. 16'ya bölerken kalanlar sadece 0'dan 9'a değil, 10'dan 15'e kadar da görünebilir. Her kalan, transferin yapıldığı sayı sisteminde her zaman tam olarak bir basamaktır.

Örneğin, onaltılık sayı sistemine dönüştürürken aşağıdaki kalanları aldıysanız (sayıda yazılmaları gereken sırayla yazılır): 10, 3, 15, 7, o zaman onaltılık sayı sisteminde bu dizi kalıntılar A3F7 16 sayısına karşılık gelecektir (bazıları yanlışlıkla 103157 16 olarak numarayı yazarlar - bunun tamamen farklı bir sayı olduğu anlaşılır ve bunu yaparsanız, A'dan F'ye rakamların olmayacağı ortaya çıkacaktır. herhangi bir onaltılık sayıda görünür).

Kesirli Çeviri

Kesirli kısmı çevirirken, tamsayı kısmının çevirisinin aksine, bölmek değil, çevirdiğimiz sayı sisteminin tabanı ile çarpmak gerekir. Bu durumda, her seferinde bütün kısımlar atılır ve kesirli kısımlar tekrar çarpılır. Tüm parçaların alındıkları sıraya göre toplanması - sayının kesirli kısmı şu şekilde elde edilir: istenilen sistem hesaplaşma.

Bir çarpma işlemi tam olarak bir tane verir ek karakter transferin yapıldığı sayı sisteminde.

İşlemi sonlandırmak için iki koşul vardır:

1) Bir sonraki çarpma işlemi sonucunda kesirli kısımda sıfır aldınız. Bu sıfırı ne kadar çarparsanız çoğaltın yine de sıfır kalacağı açıktır. Bu, sayının ondalık sayı sisteminden doğru olana tam olarak aktarıldığı anlamına gelir.

2) tüm sayılar doğru olarak çevrilemez. Bu durumda, genellikle bir miktar doğrulukla çevrilir. Bu durumda, ilk önce kaç ondalık basamağa ihtiyaç duyulacağı belirlenir - çarpma işleminin tam olarak bu sayıda yapılması gerekecektir.

İşte 0.39 10 sayısının ikili sayı sistemine dönüştürülmesine bir örnek. Doğruluk - 8 basamak (içinde bu durumçevirinin doğruluğu keyfi olarak seçilir):

Bütün bölümleri yazarsak direk sipariş, o zaman 0.39 10 =0.01100011 2 elde ederiz.

İlk sıfırın (şekilde mavi ile çizilmiş) yazılmasına gerek yoktur - çünkü kesirli kısma değil bütüne atıfta bulunur. Bazıları sonucu yazarken yanlışlıkla bu sıfırı ondalık noktadan sonra yazar.

0.39 10 sayısının onaltılık sayı sistemine çevirisi bu şekilde görünecektir. Doğruluk - Bu durumda 8 basamak, doğruluk yine keyfi olarak seçilir:

Tamsayı kısımlarını direkt sırayla yazarsak 0.39 10 =0.63D700A3 16 elde ederiz.

Aynı zamanda, çarpıldığında tamsayı kısımlarının ondalık sayı sisteminde elde edildiğini muhtemelen fark etmişsinizdir. Sayının kesirli kısmı çevrilirken elde edilen bu tamsayı kısımları, sayının tamsayılı kısmı çevrilirken kalanlarla aynı şekilde yorumlanmalıdır. Yani, onaltılık bir sayı sistemine çevrildiğinde, tamsayı kısımları şu sırayla ortaya çıkarsa: 3, 13, 7, 10, o zaman karşılık gelen sayı 0.3D7A 16 olacaktır (ve bazılarının yanlışlıkla yazdığı gibi 0.313710 16 değil) aşağı).

Tamsayı ve kesirli kısmı olan bir sayının çevirisi

Bir tamsayıdan bir sayıyı dönüştürmek için ve kesirli kısım, tüm kısmı ayrı ayrı ve kesirli kısmı ayrı ayrı çevirmeniz ve bu nedenle bu iki kısmı birlikte yazmanız gerekir.

Örneğin, 25.39 10 \u003d 11001.01100011 2 (tamsayı ve kesirli kısımların çevirileri - yukarıya bakın).

Akılda küçük tam sayıları ondalık sayıdan ikili sayıya dönüştürme

Farklı sayı sistemleriyle çalışırken, özellikle program geliştirirken, genellikle küçük tam sayıları çevirmek gerektiğinden, genel olarak konuşursak, ilk 16 sayıyı (0'dan 15'e kadar) hatırlamak mantıklıdır.

Ancak 0'dan 15'e kadar olan küçük tam sayıları zihinsel olarak ondalık sayıdan ikili sayıya dönüştürmenin ne kadar kolay olduğunu anlarsanız, o zaman ihtiyacınız olan her zaman zihninizde tablonun önemli bir bölümünü kolayca hesaplayabilirsiniz. Bu işlemi birçok kez yapın ve bir noktada kendiniz anlayamayacaksınız - tabloyu zaten ezberlediniz veya hala hesaplıyorsunuz.

Bu nedenle, 0'dan 15'e kadar küçük bir pozitif tamsayıyı ondalıktan ikiliye dönüştürmek için, anlaşılması gereken ilk şey, ikili sayıdaki her konumun ikinin kuvvetine karşılık geldiğidir. Aynı zamanda, 0'dan 3'e kadar olan konumlar için ikisinin güçlerini hatırlamak çok kolaydır - bunlar 1, 2, 4 ve 8 sayılarıdır:

Ve 10 sayısı 2 artı 8'dir:

Peki, 0 sayısı hatırlamamak günahtır, çünkü onu elde etmek için hiçbir şeyin eklenmesi gerekmez.

Talimat

İlgili videolar

Her gün kullandığımız sayma sisteminde sıfırdan dokuza kadar on rakam vardır. Bu yüzden ondalık denir. 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 kalem;
  • - hesap makinesi.

Talimat

İkili sistem en basitidir. Sadece iki rakamı var - sıfır ve bir. İkilinin her basamağı sayılar, sondan başlayarak, iki kuvvete karşılık gelir. İki bire eşittir, ilk iki eşittir, ikinci eşittir dört, üçüncü eşittir sekiz vb.

Size 1010110 ikili bir sayı verildiğini varsayalım. İçindeki birimler sondan ikinci, üçüncü, beşinci ve yedinci sıradadı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 57 numaranız var. Kaydını almak için bu sayıyı sırayla 2'ye bölmeli ve bölmenin kalanını yazmalısınız. İkili sayı baştan sona oluşturulacaktır.
İlk adım size son rakamı verecektir: 57/2 = 28 (kalan 1).
Sonra sondan ikincisini alırsınız: 28/2 = 14 (geri 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).
BT son adımçünkü bölme işleminin sonucu sıfırdı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.

Kullanılan ikinci bilgisayar meseleleri- onaltılık. On değil on altı hanesi vardır. Yeni değil semboller, onaltılık sayının ilk on hanesi sistemler sıradan sayılarla gösterilir ve kalan altı - Latin harfleriyle: 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ının önüne bir # işareti veya 0x karakter gelir.

Ondalık sayıdan ters çeviri sistemler onaltılıya dönüştürme, ikili sistemde olduğu gibi aynı kalanlar yöntemiyle gerçekleştirilir. Örneğin, 10000 sayısını alın. Bunu art arda 16'ya bölüp 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ıdan sistemler ikili çok daha kolay. 16 sayısı ikidir: 16 = 2^4. Bu nedenle, her onaltılık basamak dört basamaklı bir ikili sayı olarak yazılabilir. İkili sistemde dört basamaktan az alırsanız, başına sıfır ekleyin.
Örneğin, #1F7E = (0001)(1111)(0111)(1110) = 11111101111110.
Cevabınızın doğru olup olmadığını kontrol edin: ikisi de sayılar ondalık gösterimde 8062'dir.

Çevirmek için, ikili sayıyı sondan başlayarak dört basamaklı gruplara ayırmanız ve bu tür her grubu bir onaltılık basamakla değiştirmeniz gerekir.
Örneğin, 11000110101001, (0011)(0001)(1010)(1001) olur ve bu 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ı ikiliye nasıl dönüştürebilirim?

Sembollerin sınırlı kullanımı nedeniyle, ikili sistem bilgisayarlarda ve diğer cihazlarda kullanım için en uygun olanıdır. dijital cihazlar. 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.

Düşünmek ondalık sayı ikiliye sistem 2'ye ardışık bölme yöntemi. Ondalık sayıyı çevirmek sayı 25 kodunun içine 0 kalana kadar 2'ye bölmek gerekir.Her bölme adımında elde edilen kalanlar satıra sağdan sola yazılır son kalan rakam yazıldıktan sonra bu son olur

Ağları kurarken farklı ölçek ve her gün hesaplamalarla karşılaşıyorsunuz - o zaman böyle hile sayfalarına başlamanıza gerek yok, her şey koşulsuz bir refleksle zaten yapılır. Ancak ağları çok nadiren kurcaladığınızda, 21 öneki için ondalık biçimde ne tür bir maske olduğunu veya aynı önekle hangi ağ adresinin olduğunu her zaman hatırlamazsınız. Bu bağlamda, sayıları çevirmek için birkaç küçük hile sayfası yazmaya karar verdim. çeşitli sistemler hesaplaşma, ağ adresleri, maskeler vb. Bu bölümde tartışılacak sayıları farklı sayı sistemlerine çevirme hakkında.

1. Sayı sistemleri

ile ilgili bir şey yaptığınızda bilgisayar ağları ve IT, yine de bu konseptle karşılaşacaksınız. Ve akıllı bir BT uzmanı olarak, pratikte çok nadiren kullanacak olsanız bile, bunu en azından biraz anlamanız gerekir.
Her rakamı bir IP adresinden çevirmeyi düşünün 98.251.16.138 aşağıdaki sayı sistemlerine:

  • İkili
  • sekizli
  • Ondalık
  • onaltılık

1.1 Ondalık

Rakamlar ondalık olarak yazıldığı için ondalıktan ondalığa dönüşümü atlayacağız 🙂

1.1.1 Ondalık → İkili

Bildiğimiz gibi, ikili sayı sistemi hemen hemen hepsinde kullanılmaktadır. modern bilgisayarlar ve diğer birçok bilgisayar cihazı. Sistem çok basit - elimizde sadece 0 ve 1 var.
Ondalıklı bir sayıyı ikili forma dönüştürmek için modulo 2 (yani tamsayı 2'ye bölme) kullanmanız gerekir, bunun sonucunda kalanda her zaman 1 veya 0 olur.Bu durumda sonucu yazarız sağdan sola doğru. Bir örnek her şeyi yerine koyacaktır:


Şekil 1.1 - Sayıları ondalıktan ikiliye dönüştürme


Şekil 1.2 - Sayıları ondalıktan ikiliye dönüştürme

98 sayısının bölünmesini anlatacağım. 98'i 2'ye bölüyoruz, sonuçta 49 ve kalan 0. Sonra bölmeye devam ediyoruz ve 49'u 2'ye bölüyoruz, sonuçta 24 ve 1 kalanı var. Ve aynı şekilde bölünebilirde 1 veya 0'a ulaşırız. Sonuç daha sonra sağdan sola yazılır.

1.1.2 Ondalık → Sekizli

Sekizli sistem, tabanı 8 olan bir tam sayı sistemidir. içindeki tüm sayılar 0 - 7 aralığı ile temsil edilir ve ondalık sistemden dönüştürmek için modulo 8 kullanmanız gerekir.


Şekil 1.3 - Sayıları ondalık sayıdan ondalık sayıya dönüştürme sekizli sistem

Bölme, 2-ary sistemine benzer.

1.1.3 Ondalık → Onaltılık

Onaltılık sistem neredeyse tamamen sekizli sistemin yerini almıştır. 16 tabanı var ama kullanılıyor Ondalık basamak 0 ila 9+ edebiyat A(sayı 10) ile F(sayı 15) arasında. Ayarlarınızı her kontrol ettiğinizde bununla karşılaşıyorsunuz. ağ adaptörü MAC adresidir. IPv6 kullanırken aynı.


Şekil 1.4 - Sayıları ondalık sistemden onaltılık sisteme dönüştürme

1.2 İkili

Önceki örnekte, tüm ondalık sayıları, biri ikili olan diğer sayı sistemlerine dönüştürdük. Şimdi her sayıyı ikili biçimden çevirelim.

1.2.1 İkili → Ondalık

Sayıları ikiliden ondalığa dönüştürmek için iki nüansı bilmeniz gerekir. İlk olarak, her sıfır ve birin 2'lik bir çarpanı vardır. n. derece, burada n sağdan sola tam olarak bir artar. İkincisi - çarpmadan sonra, tüm sayılar eklenmeli ve sayıyı ondalık biçimde alacağız. Sonuç olarak, şöyle bir formülümüz olacak:

D = (a n × p n-1) + (a n-1 × p n-2) + (a n-2 × p n-3) +…, (1.2.1)

Neresi,
D, aradığımız ondalık sayıdır;
n ikili sayıdaki karakter sayısıdır;
a üzerinde ikili biçimde bir sayıdır n. konum(yani ilk karakter, ikinci vb.);
p, güce 2,8 veya 16'ya eşit bir katsayıdır n(sayı sistemine bağlı olarak)

Örneğin, 110102 sayısını alın. Formüle bakıp şunu yazıyoruz:

  • Sayı 5 karakterden oluşur ( n=5)
  • a 5 = 1, a 4 = 1, a 3 = 0, a 2 = 1, a 1 = 0

  • p = 2 (çünkü ikiliden ondalığa çeviriyoruz)

Sonuç olarak, elimizde:

D = (1 × 2 5-1) + (1 × 2 5-2) + (0 × 2 5-3) + (1 × 2 5-4) + (0 × 2 5-5) = 16 + 8 + 0 + 2 + 0 = 26 10

Sağdan sola yazmaya alışkın olanlar, form şöyle görünecek:

D = (0 × 2 5-5) + (1 × 2 5-4) + (0 × 2 5-3) + (1 × 2 5-2) + (1 × 2 5-1) = 0 + 2 + 0 + 8 + 16 = 26 10

Ancak, bildiğimiz gibi, toplam, terimlerin yeniden düzenlenmesinden değişmez. Şimdi sayılarımızı ondalık sayıya çevirelim.


Şekil 1.5 - Sayıları ikili sistemden ondalık sisteme dönüştürme

1.2.2 İkili → Sekizli

Çeviri yaparken ikili sayıyı sağdan sola üç karakterlik gruplara ayırmamız gerekiyor. Son grup üç karakterden oluşmuyorsa, eksik bitleri sıfırlarla değiştiririz. Örneğin:

10101001 = 0 10 101 001

1011100 = 00 1 011 100

Her bit grubu sekizli sayılardan biridir. Hangisini bulmak için, her bir bit grubu için yukarıda yazılan formül 1.2.1'i kullanmanız gerekir. Sonuç olarak alacağız.


Şekil 1.6 - Sayıları ikili sistemden sekizli sisteme dönüştürme

1.2.3 İkili → Onaltılık

Burada ikili sayıyı sağdan sola dört karakterlik gruplara ayırmamız ve ardından yukarıda açıklandığı gibi grubun eksik bitlerini sıfırlarla eklememiz gerekiyor. Son grup sıfırlardan oluşuyorsa, bunlar göz ardı edilmelidir.

110101011 = 000 1 1010 1011

1011100 = 0 101 1100

001010000 = 00 0101 0000 = 0101 0000

Her bit grubu, onaltılık sayılardan biridir. Her bit grubu için formül 1.2.1 kullanıyoruz.


Şekil 1.7 - Sayıları ikili sistemden onaltılık sisteme dönüştürme

1.3 Sekizli

Bu sistemde, çevirinin geri kalanı sorunsuz çalıştığı için yalnızca onaltılıya dönüştürürken zorluk çekebiliriz.

1.3.1 Sekizli → İkili

Sekizli sistemdeki her sayı, yukarıda açıklandığı gibi ikili sistemde üç bitlik bir gruptur. Çevirmek için hile sayfasını kullanmamız gerekiyor:


Şekil 1.8 - Sekizli sistemden sayıları çevirmek için mahmuz

Bu tabloyu kullanarak sayılarımızı ikiliye çevirelim.


Şekil 1.9 - Sayıları sekizliden ikiliye dönüştürme

Çıktıyı biraz tarif edeyim. Elimizdeki ilk sayı 142, yani her biri üç bitlik üç grup olacak. Mahmuz kullanıyoruz ve 1 sayısının 001, 4 sayısının 100 ve 2 sayısının 010 olduğunu görüyoruz. Sonuç olarak elimizde 001100010 sayısı var.

1.3.2 Sekizli → Ondalık

Burada formül 1.2.1'i yalnızca 8 faktörüyle kullanıyoruz (yani p=8). Sonuç olarak, elimizde


Şekil 1.10 - Sayıları sekizlik sistemden ondalık sisteme dönüştürme

  • Sayı 3 karakterden oluşur ( n=3)
  • a 3 = 1, a 2 = 4, a 1 = 2

  • p = 8 (sekizlikten ondalığa çevirdiğimiz için)

Sonuç olarak, elimizde:

D = (1 × 8 3-1) + (4 × 8 3-2) + (2 × 8 3-3) = 64 + 32 + 2 = 98 10

1.3.3 Sekizli → Onaltılık

Daha önce yazıldığı gibi, çevirmek için önce sayıları ikili sisteme, ardından ikiliden onaltılıya çevirerek 4 bitlik gruplara ayırmamız gerekiyor. Aşağıdaki mahmuz kullanabilirsiniz.


Şekil 1.11 - Onaltılık sistemden sayıları dönüştürmek için mahmuz

Bu tablo ikiliden onaltılıya dönüştürmenize yardımcı olacaktır. Şimdi sayılarımızı çevirelim.


Şekil 1.12 - Sayıları sekizli sistemden onaltılı sisteme dönüştürme

1.4 Onaltılık

Bu sistemde aynı problem, sekizliye çevrildiğinde. Ama bunun hakkında daha sonra.

1.4.1 Onaltılık → İkili

Onaltılık sistemdeki her sayı, yukarıda açıklandığı gibi ikili sistemde dört bitlik bir gruptur. Çeviri için yukarıda bulunan hile sayfasını kullanabiliriz. Sonuç olarak:


Şekil 1.13 - Sayıları onaltılıktan ikiliye dönüştürme

İlk sayıyı - 62 alalım. Plakayı kullanarak (Şekil 1.11) 6'nın 0110, 2'nin 0010 olduğunu görüyoruz, sonuç olarak 01100010 sayısına sahibiz.

1.4.2 Onaltılık → Ondalık

Burada formül 1.2.1'i yalnızca 16 faktörüyle kullanıyoruz (yani p=16). Sonuç olarak, elimizde


Şekil 1.14 - Sayıları onaltılık sistemden ondalık sisteme dönüştürme

İlk sayıyı alalım. 1.2.1 formülüne göre:

  • Sayı 2 karakterden oluşur ( n=2)
  • a 2 = 6, a 1 = 2

  • p = 16 (çünkü onaltılıktan ondalığa çeviriyoruz)

Sonuç olarak, elimizde

D = (6 × 16 2-1) + (2 × 16 2-2) = 96 + 2 = 98 10

1.4.3 Altıgen → Sekizli

Sekizli sisteme dönüştürmek için önce ikiliye dönüştürmeniz, ardından 3 bitlik gruplara ayırmanız ve tabloyu kullanmanız gerekir (Şekil 1.8). Sonuç olarak:


Şekil 1.15 - Sayıları onaltılık sistemden sekizlik sisteme dönüştürme

IP adresleri, maskeler ve ağlarla ilgili konuşmada gidecek.

Sınavı geçmek ve sadece ...

Okullarda bilgisayar bilimleri derslerinde genellikle öğrencilere sayıları bir sistemden diğerine çevirmenin en karmaşık ve elverişsiz yolunu göstermeleri tuhaftır. Bu yöntem, orijinal sayıyı tabana sırayla bölmekten ve bölmenin geri kalanını ters sırada toplamaktan oluşur.

Örneğin, 810 10 sayısını ikili sisteme dönüştürmeniz gerekir:

Sonuç aşağıdan yukarıya ters sırada yazılır. 81010 = 11001010102 çıkıyor

Oldukça büyük sayıları ikili sisteme dönüştürmeniz gerekiyorsa, bölme merdiveni çok katlı bir binanın boyutunu alır. Ve tüm sıfırları nasıl toplayabilir ve tek bir tanesini kaçırmazsınız?

AT KULLANIM programı bilgisayar bilimi, sayıların bir sistemden diğerine çevrilmesiyle ilgili çeşitli görevleri içerir. Kural olarak, bu 8- ve 16-ary sistemler ile ikili arasındaki bir dönüşümdür. Bunlar A1, B11 bölümleridir. Ancak, B7 bölümündeki gibi diğer sayı sistemlerinde de sorunlar vardır.

Başlangıç ​​olarak, gelecekteki meslekleri olarak bilgisayar bilimini seçenler için ezbere bilmenin iyi olacağı iki tabloyu hatırlayalım.

2 numaralı güçler tablosu:

2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10
2 4 8 16 32 64 128 256 512 1024

Bir önceki sayıyı 2 ile çarparak kolayca elde edilir. Yani, tüm bu sayıları hatırlamıyorsanız, hatırladığınızdan geri kalanını aklınızdan çıkarmak zor değildir.

Onaltılık gösterimle 0'dan 15'e kadar ikili sayılar tablosu:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F

Bilinen değerlere 1 eklenerek eksik değerlerin hesaplanması da kolaydır.

Tamsayı Çevirisi

Yani, doğrudan ikili sisteme dönüştürerek başlayalım. Aynı sayıyı alalım 810 10 . Bu sayıyı ikinin kuvvetlerine eşit terimlere ayırmamız gerekiyor.

  1. 2'nin 810'a en yakın gücünü arıyoruz, onu geçmiyoruz. Bu 29 = 512'dir.
  2. 810'dan 512'yi çıkarırsak 298 elde ederiz.
  3. 1 veya 0 kalana kadar 1. ve 2. adımları tekrarlayın.
  4. Bunu şöyle aldık: 810 \u003d 512 + 256 + 32 + 8 + 2 \u003d 2 9 + 2 8 + 2 5 + 2 3 + 2 1.
O zaman iki yol var, bunlardan herhangi birini kullanabilirsiniz. Herhangi bir sayı sisteminde tabanının her zaman 10 olduğunu görmek ne kadar kolay. Tabanın karesi her zaman 100, küp 1000 olacaktır. Yani sayı sisteminin tabanının derecesi 1 (bir) ve arkasında bir o kadar sıfır var, derecesi nedir?

Yöntem 1: Terimlerin göstergelerinin çıktığı rakamlara göre 1'i düzenleyiniz. Örneğimizde bunlar 9, 8, 5, 3 ve 1'dir. Geri kalan yerler sıfır olacaktır. Böylece, 810 10 = 1100101010 2 sayısının ikili gösterimini elde ettik. Birimler 9, 8, 5, 3 ve 1. sıralarda olup sağdan sola sıfırdan sayılmaktadır.

Yöntem 2: Terimleri en büyüğünden başlayarak alt alta yazalım.

810 =

Şimdi bu adımları bir yelpaze katlanmış gibi bir araya getirelim: 1100101010.

Bu kadar. Yol boyunca, “810 sayısının ikili gösteriminde kaç birim var?” Sorusu da basitçe çözüldü.

Cevap, bu temsildeki terimler (ikinin kuvvetleri) kadardır. 810'da 5 tane var.

Şimdi örnek daha basit.

63 sayısını 5'li sayı sistemine çevirelim. 5 ila 63'ün en yakın kuvveti 25'tir (kare 5). Küp (125) zaten çok olacak. Yani 63, 5'in karesi ile küp arasındadır. Sonra 5 2 katsayısını seçiyoruz. Bu 2.

63 10 = 50 + 13 = 50 + 10 + 3 = 2 * 5 2 + 2 * 5 + 3 = 223 5 elde ederiz.

Ve son olarak, 8- ve 16-ondalık sistemler arasında çok kolay çeviriler. Tabanları ikinin kuvveti olduğundan, çeviri, yalnızca rakamları ikili gösterimleriyle değiştirerek otomatik olarak yapılır. Sekizli sistem için, her basamak üç ikili basamakla ve onaltılı sistem için dört ile değiştirilir. Bu durumda, en önemli basamak hariç, baştaki tüm sıfırlar gereklidir.

547 8 sayısını ikili sisteme çevirelim.

547 8 = 101 100 111
5 4 7

Bir tane daha, örneğin 7D6A 16.

7D6A 16 = (0)111 1101 0110 1010
7 D 6 A

7368 sayısını onaltılık sisteme çevirelim.Önce sayıları üçerli yazıyoruz ve sonra onları uçtan dörde bölüyoruz: 736 8 \u003d 111 011 110 \u003d 1 1101 1110 \u003d 1DE 16. C25 16 sayısını 8'li sisteme çevirelim. İlk önce sayıları dörde yazıyoruz ve sonra onları sondan üçe bölüyoruz: C25 16 \u003d 1100 0010 0101 \u003d 110 000 100 101 \u003d 6045 8. Şimdi tekrar ondalık sayıya dönüştürmeyi düşünün. Zor değil, asıl şey hesaplamalarda hata yapmamaktır. Sayıyı, taban dereceleri ve katsayıları olan bir polinom haline getiriyoruz. Sonra çarpıyoruz ve her şeyi ekliyoruz. E68 16 = 14 * 16 2 + 6 * 16 + 8 = 3688. 732 8 \u003d 7 * 8 2 + 3 * 8 + 2 \u003d 474 .

Negatif sayıların çevirisi

Burada sayının temsil edileceğini hesaba katmanız gerekir. ek kod. Bir sayıyı ek bir koda çevirmek için sayının son boyutunu, yani onu neye yazmak istediğimizi bilmeniz gerekir - bir bayta, iki bayta, dörde. Sayının en anlamlı basamağı işaret anlamına gelir. 0 ise sayı pozitif, 1 ise negatiftir. Sol tarafta, sayı bir işaret biti ile doldurulur. İşaretsiz sayıları dikkate almayız, her zaman pozitiftirler ve içlerindeki en önemli basamak bilgi amaçlı kullanılır.

Çeviri için negatif sayıİkili ek kodda, pozitif bir sayıyı ikili sisteme dönüştürmeniz, ardından sıfırları bire ve birleri sıfıra çevirmeniz gerekir. Ardından sonuca 1 ekleyin.

Öyleyse, -79 sayısını ikili sisteme çevirelim. Sayı bizi bir bayt alacaktır.

79'u ikili sisteme çeviriyoruz, 79 = 1001111. Bayt boyutuna sola sıfırlar ekliyoruz, 8 bit, 01001111 elde ediyoruz. 1'i 0'a ve 0'ı 1'e değiştiriyoruz. 10110000 elde ediyoruz. Sonuca 1 ekliyoruz, 10110001 cevabını alıyoruz. Yol boyunca, “Kaç ünitede USE” sorusuna cevap veriyoruz. ikili gösterim sayılar -79?". Cevap 4'tür.

Sayının tersine 1 eklenmesi, +0 = 00000000 ve -0 = 11111111 temsilleri arasındaki farkı ortadan kaldırır. İkinin tümleyen kodunda, bunlar aynı 00000000 olarak yazılacaktır.

kesirli sayıların çevirisi

Kesirli sayılar, en başta ele aldığımız tam sayıların tabana bölünmesine ters şekilde çevrilir. Yani, tüm parçaların toplanmasıyla yeni bir tabanla art arda çarpma yoluyla. Çarpma ile elde edilen tamsayı kısımları toplanır ancak aşağıdaki işlemlere katılmaz. Sadece kesirler çarpılır. Orijinal sayı 1'den büyükse, tamsayı ve kesirli kısımlar ayrı ayrı çevrilir, ardından birbirine yapıştırılır.

0.6752 sayısını ikili sisteme çevirelim.

0 ,6752
*2
1 ,3504
*2
0 ,7008
*2
1 ,4016
*2
0 ,8032
*2
1 ,6064
*2
1 ,2128

Kesirli kısımdaki tüm sıfırları elde edene veya gerekli doğruluk elde edilene kadar işleme uzun süre devam edilebilir. Şimdilik 6. tabelada duralım.

0,6752 = 0,101011 çıkıyor.

Sayı 5.6752 olsaydı, ikili sistemde 101.101011 olurdu.

Sayıların bir sayı sisteminden diğerine çevrilmesi önemli kısım makine aritmetiği. Temel çeviri kurallarını göz önünde bulundurun.

1. Çeviri için ikili numara ondalık olarak, sayının basamaklarının ürünlerinden ve 2 sayısının karşılık gelen gücünden oluşan bir polinom olarak yazmak ve ondalık aritmetik kurallarına göre hesaplamak gerekir:

Çeviri yaparken, iki kuvvet tablosunu kullanmak uygundur:

Tablo 4. 2'nin Kuvvetleri

n (derece)

Örnek.

2. Çeviri için sekizli sayı ondalık olarak, sayının basamaklarının ürünlerinden ve 8 sayısının karşılık gelen gücünden oluşan bir polinom olarak yazmak ve ondalık aritmetik kurallarına göre hesaplamak gerekir:

Çeviri yaparken, sekizli güçler tablosunu kullanmak uygundur:

Tablo 5. 8'in Kuvvetleri

n (derece)

Örnek. Sayıyı ondalık sayı sistemine dönüştürün.

3. Çeviri için onaltılık sayı ondalık olarak, sayının basamaklarının ürünlerinden ve 16 sayısının karşılık gelen gücünden oluşan bir polinom olarak yazmak ve ondalık aritmetik kurallarına göre hesaplamak gerekir:

Çeviri yaparken, kullanımı uygundur 16'nın kuvvetlerinin saldırısı:

Tablo 6. 16'nın Kuvvetleri

n (derece)

Örnek. Sayıyı ondalık sayı sistemine dönüştürün.

4. Ondalık bir sayıyı ikili sisteme dönüştürmek için, 1'den küçük veya eşit kalana kadar art arda 2'ye bölünmesi gerekir. İkili sistemde bir sayı, bölme işleminin son sonucunun bir dizisi olarak yazılır ve bölümün geri kalanı ters sırada.

Örnek. Sayıyı ikili sayı sistemine dönüştürün.

5. Ondalık bir sayıyı sekizli sisteme dönüştürmek için, 7'den küçük veya ona eşit bir kalan kalana kadar art arda 8'e bölünmesi gerekir.Sekilik sistemdeki bir sayı, bölme işleminin son sonucunun bir basamak dizisi olarak yazılır ve bölümün geri kalanı ters sırada.

Örnek. Sayıyı sekizli sayı sistemine dönüştürün.

6. Ondalık bir sayıyı onaltılı sisteme dönüştürmek için, 15'ten küçük veya eşit kalana kadar art arda 16'ya bölünmesi gerekir. Onaltılık sistemde sayı, son bölme sonucunun basamak dizisi olarak yazılır. ve bölümün geri kalanı ters sırada.

Örnek. Sayıyı onaltılıya dönüştürün.