16 el yazısı. altıgen kod

  • 28.08.2019

Birçok bilgisayar kullanıcısı, bilgisayarın ikili sistemde çalıştığını anlar. Geleneksel olarak, bir ikili sistemin durumları 0 ve 1 sayılarıyla temsil edilir, ancak daha kesin olarak her durum bir sinyalin varlığını veya yokluğunu belirtir, yani durumları “kapalı” ve “açık” olarak adlandırmak daha doğru olur. veya “hayır” ve “evet”. "Kapalı" veya "hayır" durumu 0 sayısına karşılık gelir ve "açık" veya "evet" durumu 1 sayısına karşılık gelir. Sıradan kullanıcıların bilgisayarın yapısını tam olarak anlamaları genellikle gerekli değildir, ancak, ikili sistem, ikinin gücüne dayalı çeşitli kısıtlamalar şeklinde kendini hissettirir. İkili sistemin daha kompakt bir versiyonuna onaltılık denir. On altı sayısı ikinin dördüncü kuvvetidir. Bundan, uzun ikili sıfır ve bir dizilerini kısa onaltılık dizilere çevirmenin oldukça kolay olduğu sonucu çıkar. Bunu yapmak için, ikili diziyi en az anlamlı basamaktan (sağda) başlayarak dört basamaklı (rakam) gruplara bölmek ve her grubu karşılık gelen onaltılık değerle değiştirmek yeterlidir.

İkili veri algılamasının rahatlığı için onaltılık sistemi kullanmak gelenekseldir, çünkü onaltılıdan ikiliye ve tam tersine çeviriler sadece dizelerin değiştirilmesiyle gerçekleştirilmektedir. Bilgisayar yalnızca ikili dizilerle çalışır ve bu dizinin onaltılık gösterimi dört kat daha kompakttır, çünkü bu sistem taban 16 (2 16) ve ikili 2'ye sahiptir. Bir ikili dizi oldukça hantal olabilir. Örneğin, 513 sayısını yazmak için on ikili basamak (1000000001) gerekirken onaltılık yalnızca üç (201) gerekir. Ancak, herhangi bir onaltılık sayıyı temsil etmek için, alıştığımız ondalık sayı sisteminde kullanılan on değil on altı farklı karakter gereklidir. İlk on karakter 0'dan 9'a kadar olan karakterlerdir, geri kalanı A'dan F'ye kadar olan Latin alfabesinin harfleridir. Harfler genellikle (ancak her zaman değil) bir sayı için onaltılık gösterimde büyük harfle (büyük harfle) yazılır. İlk on karakter (0'dan 9'a kadar) ondalık sayı sistemindeki rakamlarla aynı şekilde yazılır ve bunlara karşılık gelir. A ila F aralığındaki harfler, 10 ila 15 aralığındaki değerlere karşılık gelir.

0'dan 15'e kadar olan sayıların onaltılık ve ikili sayı sistemlerine uygunluğunu düşünün.

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

Ondalık, ikili ve onaltılık olarak 10, 11 vb. girişler eşleşmiyor. Küçük bir örnek düşünelim. Diyelim ki onaltılık bir 1A5E sayımız var. ikili gösterime dönüştürmek için onaltılık basamakları karşılık gelen ikili gruplarla değiştirmeniz yeterlidir. 0001 1010 0101 1110 çıkıyor. Sayının önündeki önemsiz sıfırları ayırıp ayırmadan yazarsak 1101001011110 elde ederiz. Tersine çeviri için sayıyı en küçükten (sağda) başlayarak dört haneli gruplara ayırırız taraf) ve ayrıca kolaylık sağlamak için üst grupta 4 basamağa kadar önemsiz sıfırlar ekliyoruz. 0001 1010 0101 1110 alıyoruz. Grupları karşılık gelen onaltılık değerlerle değiştiriyoruz, 1A5E alıyoruz.

Onaltılık bir sayıyı ondalık gösterime dönüştürmek için ondalık sayılar yazdığımız şemayı kullanabilirsiniz. Ondalık bir sayıda, her basamak, sıfırdan başlayıp sağdan sola doğru artan on'un karşılık gelen gücünü gösterir. Örneğin, ondalık sayı 123, 1*10 2 + 2*10 1 + 3*10 0 anlamına gelir. Benzer bir yöntem kullanarak 1A5E sayısını ondalık sayı sistemine çevireceğiz. Onaltılık ve ondalık olarak, her basamak sıfırdan başlayıp sağdan sola doğru artan on altının karşılık gelen gücünü gösterir. Onaltılık olarak 1 ve 5 karakterleri ondalık olarak 1 ve 5 değerlerine, A ve E karakterleri ise 10 ve 14'e karşılık gelir. O zaman 1A5E ondalık olarak 1*16 3 + 10*16 2 + 5 olarak gösterilebilir. *16 1 + 14 * 16 0 = 6750. Ancak, onaltılık sayıları değerlendirmek için onları ondalık sayıya çevirmek hiç de gerekli değildir. Bu sistemdeki karşılaştırma, toplama ve çarpma kuralları, ondalık sistemdeki ile aynıdır, asıl şey, her basamağın 0'dan 15'e kadar değerler içerebileceğini unutmamaktır. Sayılar arasında daha hızlı bir transfer için sistem, bunun için Windows'taki standart hesap makinesini kullanabilirsiniz, bunun için Gelişmiş hesap makinesi modunda, bir sayı sistemi seçin, içine bir sayı girin ve sonucun görüntüleneceği istenen sayı sistemini seçin.

Yalnızca sayılardan oluşan onaltılık sayılar ondalık sayılarla kolayca karıştırılabildiğinden, genellikle onaltılık gösterimin kullanıldığı açıkça anlaşılacak şekilde işaretlenirler. Onaltılık girişler genellikle ya sonuna küçük bir 'h' harfi eklenerek ya da sayıdan önce '0x' eklenerek işaretlenir. Böylece onaltılık sayı 1A5E 1A5Eh veya 0x1A5E olarak yazılabilir, burada sondaki "h" veya başındaki "0x" onaltılık gösterimin kullanıldığını gösterir.

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.

Onaltılı sistemde sayı yazarken 10, 11, 12. 13, 14. 15 sayılarını ifade eden sayıları yazmak için sırasıyla A, B, C, D, E, F harfleri kullanılır.

Sayıları onaltılıdan ondalık sayıya 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 veya tam tersine dönüştürme

Herhangi bir onaltılık sayıyı aşağıdaki gibi ikiliye 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ık sayı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 doğru sıralanmıştır.

Ö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ının ondalık sayıdan sekizliğe ve tam tersine dönüştürülmesi, ikiliye / ikiliden dönüştürmeye benzetilerek gerçekleştirilir.

Sayıları sekizliden ikiliye veya tam tersine çevirme

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 çevirmenin gerekli olduğunu varsayalım. Bunu yapmak için, formda temsil etmemiz gerekir.

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ürmeP -ik.

2.1 98 10 → X 2 .

Sayıyı 2'ye böldük, sonra eksik bölümü 2'ye böldük. Eksik bölüm 2'den küçük olana kadar devam ediyoruz, yani. 1'e eşit.

    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ğundan 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. Ardından 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 bitmiştir. 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 → X 2 .

Bölmeyi ikili bir sisteme çevirirseniz, memnun hantal bir süreç elde edersiniz. İlk önce sayıyı sekizlik sisteme dönüştürebilir ve ardından sekizlik basamakları sağdan sola üç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 bacaklarda toplam 24 8 = 2∙8+4 = 20 10 parmak ve 12 8 = 1∙8+2 = 10 10 parmak vardır.

Şimdi onaltılık sayı sistemiyle ilişkili çok kolay bir yürüyüş var. Bu durumda, şimdi 16 farklı basamağa sahip olmamız gerektiğinden şüpheleneceğinizi umuyoruz ve muhtemelen haklısınız.

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

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

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

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

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

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

Onaltılık "F" sayısına bir eklediğimizde, bu basamaklar bittiğinden, bu basamağa "O" koyarız ve bir sonraki basamağa aktarırız, 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 1B
10 FAKAT 30 1E
11 İÇİNDE 31 1F
12 İTİBAREN 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, ikili bilgileri daha kompakt bir şekilde yazmak için kullanılır. Gerçekten de, 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üzlerce" ve "binlerce" tekrar tekrar ortaya çıktı, bu nedenle "yuvarlak" sayılara dikkat etmek gerekiyor.

Onaltılı gösterim ("Onaltılı") ikili değerleri temsil etmenin uygun bir yoludur. Ondalık sayının on tabanı ve ikili sayının iki tabanı olması gibi, onaltılık sayının tabanı on altıdır.

16 tabanlı sayı sistemi, 0 ila 9 arasındaki sayıları ve A ila F arasındaki harfleri kullanır. Şekil, 0000 ila 1111 arasındaki ikili sayılar için eşdeğer ondalık, ikili ve onaltılık değerleri göstermektedir. Bir değeri şu şekilde ifade etmek bizim için daha kolaydır. dört bitten daha tek bir onaltılık basamak.

Baytları Anlamak

8 bitin (bayt) standart bir ikili gruplama olduğu göz önüne alındığında, 00000000 ile 11111111 arasındaki ikili sayılar 00 ile FF arasındaki sayılar olarak onaltılık gösterimde gösterilebilir. 8 bitlik gösterimi tamamlamak için baştaki sıfırlar her zaman görüntülenir. Örneğin, 0000 1010 ikili değeri onaltılık sistemde 0A olacaktır.

Onaltılık Değerleri Temsil Etme

Not:Şekilde gösterildiği gibi 0 ila 9 arasındaki karakterler için onaltılık değerleri ondalık değerlerden ayırt etmek önemlidir.

Onaltılık değerler genellikle metinde 0x (örn. 0x73) veya alt simge 16 ile gelen bir değerle temsil edilir. Daha nadiren, 73H gibi H harfi ile takip edilebilirler. Ancak, alt simge metni komut satırında veya programlama ortamlarında tanınmadığından, teknik olarak onaltılık sayıların önüne "0x" (sıfır X) gelir. Bu nedenle, yukarıdaki örnekler sırasıyla 0x0A ve 0x73 olarak gösterilecektir.

Onaltılık gösterim, Ethernet MAC adreslerini ve Sürüm 6 IP adreslerini temsil etmek için kullanılır.

Onaltılı Dönüşümler

Ondalık ve onaltılık değerler arasındaki sayı dönüşümleri kolaydır, ancak 16'ya hızlı bölme veya çarpma her zaman uygun değildir. Bu tür dönüştürmelere ihtiyaç duyulursa, ondalık veya onaltılık değeri ikiliye dönüştürmek ve ardından ikili değeri, hangisini almak istiyorsanız, ondalık veya onaltılıya dönüştürmek genellikle daha kolaydır.

Pratikle, ondalık ve onaltılık değerlere karşılık gelen ikili bit kalıplarını tanımak mümkündür. Şekil, bazı 8 bitlik değerler için bu kalıpları göstermektedir.

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 C(1100)
3 3 (0011) 13 D(1101)
4 4 (0100) 14 E (1110)
5 5 (0101) 15 F(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ı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 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-ary kodlama sistemi
Ondalık sistem 8'li sistem Ondalık sistem 8'li sistem
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.), sistemden sisteme aktarım gerekmemesi için onaltılık ve ikili sistemlerle normal ondalık sayı kadar özgürce nasıl başa çıkacağını öğrenmesi gerekir.

Onaltılıdan çok daha az sıklıkla, onaltılık ile aynı prensibe dayanan sekizli kodlama kullanılır, ancak ikili rakamlar üç basamaklı gruplara ayrılır. Her grup (kod basamağı) daha sonra bir karakterle belirtilir. 8 basamaklı kodun her basamağı sekiz değer alabilir: 0, 1, 2, 3, 4, 5, 6, 7 (Tablo 2.5).

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, sayıları ikili ondalık kodda yazmanı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 (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 ü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 eklemek size 0, 1 ve 0 eklemek size 1, 1 ve 1 eklemek size 0 ve taşıma 1'i verir. Sonuç 10010'dur (ondalık 18). Herhangi iki n-bitlik ikili sayı eklerken, bir 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 kullanmalısınız ikili gösterim negatif sayılar.

Hem ikili pozitif hem de ikili negatif sayıların aynı anda gösterimi için, sözde ek kod. Bu koddaki negatif sayılar, aynı büyüklükteki 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'dan 1'e, 1'den 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).

modulo 2 iki ikili sayı 0111 ve 1011:

İkili sayılardaki diğer bit düzeyinde 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 olur.