Onaltılık sayı sistemi. Numaraları çevrimiçi olarak bir sayı sisteminden diğerine dönüştürme

Onaltılık sayı sistemi. Numaraları çevrimiçi olarak bir sayı sisteminden diğerine dönüştürme
Tablo 2.4. Onaltılık kodlama sistemi
Ondalık sistem onaltılık sistem Ondalık sistem onaltılık sistem
0 0 (0000) 10 bir(1010)
1 1(0001) 11 B(1011)
2 2 (0010) 12 S(1100)
3 3 (0011) 13 D(1101)
4 4 (0100) 14 E (1110)
5 5 (0101) 15 K(1111)
6 6 (0110) 16 10 (00010000)
7 7 (0111) 17 11 (00010001)
8 8 (1000) 18 12 (00010010)
9 9 (1001) 19 13 (00010011)

Onaltılı bir sayıyı ondalık sayıya çevirmek için en önemsiz (sıfır) basamağın değerini bir, sonraki (ilk) basamağın değerini 16, ikinci basamağın değerini 256 (16 2) ile çarpmak gerekir. , vb. ve ardından tüm ürünleri ekleyin. Örneğin, A17F sayısı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

Tablo 2.5. 8'li kodlama sistemi
Ondalık sistem 8-ary sistemi Ondalık sistem 8-ary sistemi
0 0 (000) 10 12 (001010)
1 1(001) 11 13 (001011)
2 2 (010) 12 14 (001100)
3 3 (011) 13 15 (001101)
4 4 (100) 14 16 (001110)
5 5 (101) 15 17 (001111)
6 6 (110) 16 20 (010000)
7 7 (111) 17 21 (010001)
8 10 (001000) 18 22 (010010)
9 11 (001001) 19 23 (010011)

Ancak her dijital ekipman uzmanının (tasarımcı, operatör, tamirci, programcı vb.), onaltılık ve ikili sistemlerle, normal ondalık sayılarla olduğu kadar özgürce nasıl başa çıkacağını öğrenmesi gerekir, böylece sistemden sisteme aktarım gerekmez.

Onaltılıktan çok daha az sıklıkla, onaltılık ile aynı prensip üzerine inşa edilen sekizli kodlama kullanılır, ancak ikili basamaklar üç basamaklı gruplara ayrılır. Her grup (kod hanesi) daha sonra bir karakterle belirtilir. 8 haneli kodun her hanesi sekiz değer alabilir: 0, 1, 2, 3, 4, 5, 6, 7 (Tablo 2.5).

Ele 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 0, 1 sembolleriyle kodlanmış on değer alabilir. 2, 3, 4, 5, 6, 7, 8, 9. Yani bir ondalık basamak dört ikiliye karşılık gelir. Sonuç olarak, sayıları ikili ondalık kodda yazmanın, normal bir ondalık kodda yazmaktan farklı olmadığı (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ıları düzenlemek için çok kullanışlıdır. dijital göstergeler ve çetele.

Tablo 2.6. İkili Ondalık Kodlama Sistemi
Ondalık sistem İkili Ondalık Ondalık sistem İkili Ondalık
0 0 (0000) 10 10 (00010000)
1 1(0001) 11 11 (00010001)
2 2 (0010) 12 12 (00010010)
3 3 (0011) 13 13 (00010011)
4 4 (0100) 14 14 (00010100)
5 5 (0101) 15 15 (00010101)
6 6 (0110) 16 16 (00010110)
7 7 (0111) 17 17 (00010111)
8 8 (1000) 18 18 (00011000)
9 9 (1001) 19 19 (00011001)

İkili kodda, sayılar üzerinden istediğiniz her şeyi yapabilirsiniz. Aritmetik işlemler: toplama , çıkarma , çarpma , bölme .

Örneğin, iki adet 4 bitlik ikili sayının toplanmasını 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 ile 0'ı toplayınca 0, 1 ile 0'ı toplayınca 1, 1 ile 1'i toplayınca 0 ve bir sonraki bit'e taşıma 1 olur. Sonuç 10010'dur (ondalık 18). Herhangi iki n-bitlik ikili sayıyı toplarken, n-bitlik veya (n + 1) -bitlik bir sayı elde edebilirsiniz.

Çıkarma da aynı şekilde yapılır. 0111 (7) sayısı 10010 (18) sayısından çıkarılsın. Sayıları en az anlamlı basamağa hizalı olarak yazarız ve ondalık sistemde olduğu gibi çıkarırız:

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

Çıkarma yaparken negatif sayılar elde etmek mümkündür, bu yüzden kullanmalısınız. ikili temsil negatif sayılar.

Aynı anda hem ikili pozitif hem de ikili negatif sayıları temsil etmek için, sözde ek kod . Bu koddaki negatif sayılar, aynı büyüklükteki pozitif bir sayıya eklendiğinde sıfır sonucunu verecek bir sayı ile ifade edilir. Negatif bir sayı elde etmek için, aynı pozitif sayının tüm bitlerini zıt olanlara (0'dan 1'e, 1'den 0'a) değiştirip sonuca 1 eklemeniz gerekir.Örneğin -5 sayısını yazalım. Binary koddaki 5 sayısı 0101'e benziyor. Bitleri karşılıklı olanlarla değiştiriyoruz: 1010 ve bir ekliyoruz: 1011. Sonucu orijinal sayı ile topluyoruz: 1011 + 0101 = 0000 (beşinci bite aktarımı göz ardı ediyoruz).

modulo 2 iki ikili sayı 0111 ve 1011:

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

İnsanlar için olağan sayı sistemi ondalıktır. 0'dan 9'a kadar on haneye dayanır. Onaltılık sistem, ana sayılara ek olarak sayıları yazmak için Latin alfabesinin ilk altı harfinin içinde bulunmasıyla ayırt edilir. Yani 9 rakamından sonra ondalık sistem için 10 rakamına karşılık gelen "A" karakteri gelir. Buna göre, onaltılı sistemde F, ondalık sistemde 16'dır. Sistemde on altı karakterin kullanılması rastgele bir seçim değildir.

Bilgi birimi birazdır. Sekiz bit bir baytı oluşturur. Bir makine kelimesi gibi bir kavram var - bu, iki, yani on altı bit olan bir veri birimidir. Böylece on altı farklı sembol kullanılarak, veri alışverişinde en küçük parçacık olacak herhangi bir bilgiyi anlatmak mümkündür. Onlarla, herhangi bir aritmetik işlemi gerçekleştirebilirsiniz, sonuç sırasıyla onaltılık sistemde de elde edilecektir.

Sayının hexadecimal olarak yazıldığını ayırt edebilmek için ondan sonra “h” harfi yazılır veya alt simge"16".

Başvuru

En geniş uygulama onaltılık sayı sistemi - bunlar hata kodlarıdır yazılım ürünleri, Örneğin, işletim sistemi. Bu kodlarda gömülü olan sayılar standardize edilmiştir. Özel bir tabloya sahip olarak, bunun veya bu hatanın tam olarak ne anlama geldiğini her zaman belirleyebilirsiniz.

Düşük seviyeli dillerde, makine kodlarına olabildiğince yakın, program yazmak için onaltılık sistem kullanılır. Birçok programcı, bunu yüksek seviyeli dillerle çalışırken de kullanır, çünkü bu sistemdeki sayılar, özel bir karşılık tablosu kullanarak, tüm dijital teknolojinin işleyişinin dayandığı bir ikili sisteme kolayca dönüştürülür. İster müzik dosyası olsun, ister bilgisayardaki herhangi bir bilgi Metin belgesi, çeviriden sonra kaynak ikili kodun bir dizisi ile temsil edilir ve onaltılık karakterlerle temsil edildiğini görüntülemek daha uygundur.

Ayrıca hexadecimal sembollerin kullanımlarından biri de renk şemalarının betimlenmesi yani R, G, B üç bileşeninin bu sisteme uygun bir şekilde anlatılmasıdır. Bu yazma yaklaşımına onaltılık renk denir.

Programı onaltılık kodda görüntüleme yeteneği, programda hata ayıklamanıza, değişiklikler yapmanıza olanak tanır ve saldırganlar programları kırmak için bu yaklaşımı kullanır.

Şimdi onaltılık sayı sistemi ile ilgili çok kolay bir yürüyüş var. Bu durumda, artık 16 farklı basamağa sahip olmamız gerektiğinden şüphelendiğinizi ve muhtemelen haklı olarak öyle olduğunu umarız.

Ancak bildiğimiz gibi, yalnızca on adet geleneksel ("Arapça") rakam vardır. Ve on altı sürer. Altı karakterin eksik olduğu ortaya çıktı.

Yorum
Böylece, sayılar için eksik karakterleri bulmak için "İşaretler" konusunda tamamen tasarım görevi ortaya çıkar.
.

Bu nedenle, bir zamanlar uzmanların bazı yeni işaretler bulması gerekiyordu. Ama bir zamanlar, bilgisayar çağının başında, tabelalarda fazla seçenek yoktu. Programcıların yalnızca sayı ve harf işaretleri vardı. Bu nedenle, temel yolu seçtiler: Latin alfabesinin ilk harflerini sayı olarak aldılar, özellikle tarihsel olarak bu ilk durum olmadığı için (başlangıçta birçok insanın sayı yerine harf kullandığından daha önce bahsetmiştik).

Yorum
Herkesin bu durumda örneğin "10", "11", "12" vb. Numaralarını kullanmanın neden imkansız olduğunu anladığını umuyoruz? Çünkü onaltılık sayı sisteminden bahsediyorsak on altı olmalı. sayılar, sayılar değil
.

Ve "10" ondalık sayısı Latince "A" harfiyle (daha doğrusu "A sayısı") gösterilmeye başlandı. Buna göre "B", "C", "D", "E" ve "P" sayıları gelmektedir.

Onaltılık bir sistem oluşturmayı amaçladığımız için sıfırdan başlayarak burada tam olarak 16 basamak elde ediyoruz. Örneğin, "D" sayısı ondalık sayı "13" ve "F" sayısı ondalık sayı "15"tir.

Onaltılı "F" sayısına bir eklediğimizde, daha sonra bu basamaklarımız bittiği için bu basamağa "O" koyuyoruz ve bir sonraki basamağa aktarıyoruz, böylece ondalık sayı " 16", onaltılık sayı sisteminde "10" sayısıyla temsil edilecektir, yani "onaltılık on" ortaya çıkar. Ondalık ve onaltılık sayıları tek bir tabloda birleştirelim (Tablo 4.5).

Tablo 4.5. Ondalık ve onaltılık sayıları eşleştirme.

Ondalık sayı onaltılık sayı Ondalık sayı onaltılık sayı
0-9 0-9 29 1D
10 A 30 1E
11 İÇİNDE 31 1K
12 İLE 32-41 20-29
13 D 42-47 2A-2F
14 E 48-255 30-FF
15 F 256 100
16 10 512 200
17-25 11-19 1024 400
26 1 A 1280 500
27 1B 4096 1000
28 1C

Onaltılık sistem daha kompakt yazmak için kullanılır ikili bilgi. Nitekim, ikili biçimde dört basamaktan oluşan bir "onaltılık bin" on üç basamak alır (1000 16 \u003d 1000000000000 2).

Sayı sistemlerini tartışırken, "onlar", "yüzler" ve "binler" tekrar tekrar ortaya çıktı, bu nedenle sözde "yuvarlak" sayılara dikkat etmek gerekiyor.

Onaltılık sayı sistemi 16 basamaktan oluşan bir alfabeye sahiptir:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, c, d, e, f.

Hexadecimal sistemde sayı yazılırken 10, 11, 12, 13, 14, 15 sayılarını gösteren sayıları yazmak için sırasıyla A, B, C, D, E, F harfleri kullanılır.

Sayıları onaltılıktan ondalığa dönüştürme

Zaten bilinen formülü kullanarak herhangi bir onaltılık sayıyı ondalık sayıya dönüştürebilirsiniz.

Örnekler.

    AE07 16 =10∙16 3 +14∙16 2 +0∙16 1 +7∙16 0 =44551 10 .

    100 16 =1∙16 2 +0∙16 1 +0∙16 0 =256 10 .

    58 16 =5∙16 1 +8∙16 0 =.88 10 .

    2A 16 \u003d 2 16 1 + 10 16 0 \u003d 42 10.

Bir sayının ondalık sistemden onaltılık sisteme dönüştürülmesi, ikili sistemde olduğu gibi gerçekleştirilir.

Sayıları onaltılıdan ikiliye ve tam tersi şekilde dönüştürme

Herhangi bir onaltılık sayıyı ikiliye aşağıdaki gibi dönüştürebilirsiniz. Bir sayının her onaltılık basamağı, dört basamaklı bir ikili sayı olarak yazılır - dörtlü. Bundan sonra soldaki sıfırlar atılabilir.

2) 2A= 0010 1010 2 = 101010 2 .

3) 58 16 = 0101 1000 2 = 1011000 2 .

Tersine, herhangi bir ikili sayıyı aynı şekilde onaltılıya dönüştürebilirsiniz. Sağdan sola doğru sayılan her dört ikili basamak, bir onaltılık basamak olarak yazılır. Bu rakamlar da sağdan sola düzenlenmiştir.

Örnekler.

2. 101010 2 = 10 1010 2 = 2A.

3. 1011000 2 = 101 1000 2 = 58 16 .

Sekizli sayı sistemi

Sekizli sayı sistemi 8 basamaktan oluşan bir alfabeye sahiptir:

0, 1, 2, 3, 4, 5, 6, 7.

Bir sayıyı ondalıktan sekizliğe dönüştürmek ve tersi, ikiliye / ikiliden dönüştürmeye benzetilerek gerçekleştirilir.

Sayıları sekizliden ikiliye ve tam tersi şekilde dönüştürme

Bir sayının sekizli gösteriminin her basamağı, üç basamaklı bir ikili sayı olarak yazılır - üçlü.

Örnekler.

2563 8 = 010 101 110 011 2 =10101110011 2 .

1001101 2 = 001 001 101 2 = 115 8 .

1 numaralı laboratuvar dersi için metodik materyaller

Laboratuvar dersinin konusu: Sayı sistemleri. Bilgi ölçümü.

Saat sayısı: 2.

Çözümlü Örnekler

    ÇeviriP -ary sisteminden 10-ary'ye. Bir sayı sistemindeki bir sayıyı ondalık sayıya dönüştürmenin gerekli olduğunu varsayalım. Bunu yapmak için, onu formda temsil etmemiz gerekiyor.

11100110 2 = 1∙2 7 + 1∙2 6 + 1∙2 5 + 0∙2 4 + 0∙2 3 + 1∙2 2 + 1∙2 1 + 0∙2 0 = 128 + 64 + 32 + 4 + 2 = 230 10 .

2401 5 = 2∙5 3 + 4∙5 2 + 0∙5 1 + 1∙5 0 = 250 + 100 + 0 + 1 = 351.

    Ondalık sistemden dönüştürP -ic.

2.1 98 10 → X2 .

Sayıyı 2'ye bölüyoruz. Sonra eksik bölümü 2'ye bölüyoruz. Eksik bölüm 2'den küçük olana kadar devam ediyoruz yani. 1'e eşittir.

    98: 2 = 49. Kalan - 0 .

    49: 2 = 24. Kalan - 1 .

    24: 2 = 12. Kalan - 0 .

    12: 2 = 6. Kalan - 0 .

    6: 2 = 3. Kalan - 0 .

    3: 2 = 1 . kalan - 1 .

Son eksik bölüm 1 olduğu için işlem bitmiştir. Son eksik bölümden başlayarak tüm kalanları aşağıdan yukarıya yazıyoruz ve 1100010 sayısını alıyoruz. Yani 98 10 \u003d 1100010 2.

2.2 2391 10 → X 16 .

Sayıyı 16'ya bölün. Sonra kısmi bölümü 16'ya bölün. Kısmi bölüm 16'dan küçük olana kadar devam edin.

    2391: 16 = 149. Kalan - 7 .

    149: 16 = 9 . kalan - 5 .

Son eksik bölüm (9) 16'dan küçük olduğu için işlem tamamlanmıştır. Son eksik bölümden başlayarak tüm kalanları aşağıdan yukarıya yazıyoruz ve 957 sayısını alıyoruz. Yani 2391 10 \u003d 957 16.

2.3 12165 10 → X2 .

Bölmeyi ikili bir sisteme çevirirseniz, memnun hantal bir süreç elde edersiniz. Önce sayıyı sekizlik sisteme dönüştürebilir, ardından sağdan sola sekizlik basamakları üçlülerle değiştirebilirsiniz.

12165 10 = 27605 8 = 010 111 110 000 101 = 10111110000101.

    Sayı sisteminin tabanının belirlenmesiP .

Bir çocuk kendisi hakkında şöyle yazdı: "Her elimde 5 ve ayaklarımda 12 olmak üzere 24 parmağım var." Bu nasıl olabilir?

Çözüm. Sayı sisteminin tabanını belirleyin P. Sadece 10 10 parmak olduğunu bildiğimize göre 12 P =1∙P+2 = 10 10 . Buradan denklemi elde ederiz P + 2 = 10  P= 8. Yani çocuk sekizlik sistemdeki sayıları kastetmişti. Nitekim toplamda 24 8 = 2∙8+4 = 20 10 parmak ve bacaklarda 12 8 = 1∙8+2 = 10 10 vardır.

Eski Babil'de ortaya çıktı. Hindistan'da sistem, Kızılderililer için sıfır kullanan konumsal ondalık numaralandırma şeklinde çalışır. bu sistem sayılar Arap ulusu tarafından ödünç alındı, sırayla Avrupalılar tarafından alındı. Avrupa'da bu sistem Arapça olarak anılmaya başlandı.

konum sistemihesaplaşma- tüm rakamların değeri, sayıdaki bu rakamın konumuna (rakamına) bağlıdır.

örnekler, standart ondalık sayı sistemi konumsal bir sistemdir. Diyelim ki size bir numara verildi453 . Sayı 4 yüzlerce anlamına gelir ve bir sayıya karşılık gelir400, 5 - onluk sayı ve değere karşılık gelir50 , A 3 - birimler ve değer3 . Rakam arttıkça değerin arttığını görmek kolaydır. Böylece verilen sayıyı toplam olarak yazıyoruz400+50+3=453.

Onaltılık sayı sistemi.

Onaltılık sayı sistemi(onaltılık sayılar) - konumsal sayı sistemi. Onaltılık sayı sisteminin temeli 16 numaradır.

Sayıları sekizlik olarak yazdığımızda oldukça kompakt ifadeler elde ederiz, ancak onaltılık olarak daha kompakt ifadeler elde ederiz.

On altı onaltılık basamağın ilk on basamağı standart aralıktır 0 - 9 , sonraki altı hane Latin alfabesinin ilk harfleri kullanılarak ifade edilir: A, B, C, D, E, F. Onaltılıdan ikiliye ve tersi dönüştürme, sekizli ile aynı şekilde yapılır.

Onaltılık sayı sisteminin uygulanması.

Onaltılı sayı sistemi modern bilgisayarlarda oldukça iyi kullanılmaktadır. Örneğin yardımı ile rengi belirtin: #FFFFFF- Beyaz renk.

Sayıları bir sayı sisteminden diğerine dönüştürme.

Sayıları onaltılıktan ondalığa dönüştürme.

Onaltılık bir sayıyı ondalık sayıya dönüştürmek için, verilen sayıyı, onaltılık sayı sisteminin tabanının derecelerinin çarpımlarının, onaltılık sayının basamaklarındaki karşılık gelen basamaklarla toplamı biçimine getirmeniz gerekir.

Örneğin, onaltılık sayıyı çevir 5A3 ondalığa. Burada 3 sayılar. Yukarıdaki kurala dayanarak, tabanı 16 olan dereceler toplamı formuna getiriyoruz:

5A3 16 = 3 16 0 +10 16 1 +5 16 2 = 3 1+10 16+5 256 = 3+160+1280 = 1443 10

Sayıları ikiliden onaltılıya ve tam tersi şekilde dönüştürün.

Çok değerli çevirmek için ikili numara onaltılık sisteme, onu sağdan sola doğru dörtlülere bölmeniz ve tüm dörtlüleri karşılık gelen onaltılık basamakla değiştirmeniz gerekir. Bir sayıyı onaltılıktan ikiliye dönüştürmek için, aşağıda bulacağınız dönüştürme tablosundaki tüm basamakları karşılık gelen dörtlülere değiştirmeniz gerekir.

Örneğin:

010110100011 2 = 0101 1010 0011 = 5A3 16

Sayı dönüştürme tablosu.

Sayıları bir sayı sisteminden diğerine dönüştürmek için algoritma.

1. Ondalık sayı sisteminden:

  • sayıyı çevrilmekte olan sayı sisteminin tabanına böleriz;
  • sayının tamsayı kısmından kalanını bulun;
  • Bölmenin tüm kalanlarını ters sırayla yazın;

2. İkili sayı sisteminden:

  • ondalık sayı sistemine dönüştürmek için, 2 tabanının çarpımlarının karşılık gelen deşarj derecesine göre toplamını buluruz;
  • bir sayıyı sekizliye dönüştürmek için sayıyı üçlülere böleriz.

Örneğin, 1000110 = 1000 110 = 1068

  • bir sayıyı ikiliden onaltılıya dönüştürmek için, sayıyı 4 basamaklı gruplara ayırırız.

Örneğin, 1000110 = 100 0110 = 4616.

Çeviri tabloları:

İkili SS

Onaltılık SS

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

İkili SS