Onaltılık kod. Sayı sistemleri. Konumsal sayı sistemi onaltılık

  • 30.09.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. Bununla birlikte, sıradan kullanıcıların bilgisayarın yapısını tam olarak anlaması genellikle gerekli değildir. ikili sistem, ikinin gücüne dayanan ç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 önemsiz 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.

Onaltılı sistem genellikle ikili veri algısının rahatlığı için kullanılır, çünkü onaltılıdan ikiliye ve tersi çeviriler basitçe dizeleri değiştirerek gerçekleştirilir. Bilgisayar yalnızca ikili dizilerle çalışır ve bu dizinin onaltılık gösterimi dört kat daha kompakttır, çünkü bu sistem 16 tabanına (2 16) ve ikili 2'ye sahiptir. İkili bir dizi oldukça kullanışsız olabilir. Örneğin, 513 sayısını yazmak on ikili basamak (1000000001) gerektirirken, onaltılık yalnızca üç (201) gerektirir. Bununla birlikte, herhangi bir onaltılı sayıyı temsil etmek için, alıştığımız ondalık sayı sisteminde kullanılan on değil, on altı farklı karakter gerekir. İlk on karakter, 0 ile 9 arasındaki karakterlerdir, geri kalanlar, Latin alfabesinin A'dan F'ye kadar olan harfleridir. Harfler genellikle (ancak her zaman değil) bir sayının onaltılık gösteriminde 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 ile F arasındaki harfler, 10 ile 15 arasındaki değerlere karşılık gelir.

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

Ondalık gösterim Onaltılık gösterim İkili 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 sistemdeki 10, 11 vb. girişler eşleşmiyor. Küçük bir örnek ele alalım. Diyelim ki 1A5E onaltılık bir 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 anlamsız sıfırları kaldırıp ayırıcısız yazarsak 1101001011110 elde ederiz. Ters çeviri için sayıyı en küçükten (sağda) başlayarak dört basamaklı gruplara ayırırız. yan) ve ayrıca kolaylık sağlamak için en yüksek grupta 4 haneye kadar anlamsız sıfırlar ekleyin. 0001 1010 0101 1110 elde ediyoruz. Grupları karşılık gelen hexadecimal değerlerle değiştiriyoruz, 1A5E elde ediyoruz.

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 kuvvetini gösterir. Örneğin, 123 ondalık sayısı 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ı sistemde olduğu gibi ondalık sistemde de her rakam, sıfırdan başlayıp sağdan sola artan on altının karşılık gelen kuvvetini gösterir. Onaltılıktaki 1 ve 5 karakterleri ondalıktaki 1 ve 5 değerlerine, A ve E karakterleri ise 10 ve 14'e karşılık gelir. Daha sonra 1A5E ondalık sistemde 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 ondalık sayıya dönüştürmek hiç de gerekli değildir. Bu sistemdeki karşılaştırma, toplama ve çarpma kuralları ondalık ile aynıdır, asıl mesele her rakamın 0'dan 15'e kadar değerler içerebileceğini unutmamaktır. Hesap makinesinin gelişmiş modunda, sayı sistemini seçin , içine bir sayı girin ve sonucun görüntüleneceği istediğiniz sayı sistemini seçin.

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

Onaltılık sayı sistemi. ilk programımız.

Assembler'da program yazmak için hexadecimal sayı sistemini anlamanız gerekir. İçinde karmaşık bir şey yok. Ondalık sistemi hayatımızda kullanırız. Eminim hepiniz biliyorsunuzdur, bu yüzden onaltılık sistemi ondalık ile bir benzetme yaparak açıklamaya çalışacağım.

Yani ondalık sistemde herhangi bir sayının sağına sıfır eklersek bu sayı 10 kat artacaktır. Örneğin: 1 x 10 = 10; 10x10 = 100; 100x10 = 1000 vb. Bu sistemde 0'dan 9'a kadar olan sayıları kullanıyoruz, yani. on farklı basamak (aslında, bu yüzden ondalık olarak adlandırılır).

Onaltılık sistemde sırasıyla on altı "rakam" kullanıyoruz. Özellikle "sayılar" kelimesini tırnak içinde yazdım, çünkü sayılardan daha fazlasını kullanır. Ve gerçekten nasıl? Açıklıyorum: 0'dan 9'a kadar ondalık sayıyla aynı şekilde sayıyoruz, ancak o zaman şöyle olacak: A, B, C, D, E, F. Ne kadar zor olursa olsun F sayısı sayarsanız, ondalık sistemde 15'e eşit olacaktır (bkz. Tablo 1).

Ondalık sayı

onaltılık sayı

Tablo 1. Ondalık ve onaltılık sistemler.

Yani hexadecimal sistemde herhangi bir sayının sağına sıfır eklersek bu sayı artacaktır.16 bir Zamanlar.

Örnek 1: 1 x 16 = 10; 10x16 = 100; 100x16 = 1000 vb.

Örnek 1'de onaltılıyı ondalıktan ayırt edebildiniz mi? Ve bu sıradan: 10, 12, 45, 64, 12, 8, 19? Onaltılık veya ondalık olabilir. Karışıklığı önlemek ve bilgisayarın bir sayıyı diğerinden net bir şekilde ayırt edebilmesi için, Assembler'da onaltılık sayıdan sonra h veya H karakterini koymak gelenekseldir ( H, İngilizce'nin kısaltmasıdır. onaltılık (onaltılık). Kısaca, bazen basitçe denir altıgen ) . Ve ondalıktan sonra hiçbir şey koymayın. Çünkü 0'dan 9'a kadar olan sayılar her iki sistemde de aynı anlama geliyorsa 5 ve 5h olarak yazılan sayılar aynıdır.

O. Örnek 1'i (yukarıya bakın) şu şekilde yazmak daha doğru olacaktır: 1 x 16 = 10h; 10s x 16 = 100s; 100s x 16 = 1000s. Veya şöyle: 1h x 10s = 10s; 10s x 10s = 100s; 100s x 10s = 1000s.

Onaltılık sisteme neden ihtiyaç duyulduğunu sonraki sayılarda ele alacağız. Şimdilik aşağıda ele alacağımız örnek programımız için hexadecimal sayıların varlığını bilmemiz gerekiyor.

Öyleyse özetleyelim. Onaltılık sayı sistemi 10 basamaktan (0'dan 9'a kadar) ve 6 Latin alfabesinden (A, B, C, D, E, F) oluşur. Hexadecimal sistemde herhangi bir sayının sağına sıfır eklersek bu sayı16 bir Zamanlar. Bu konuyu anlamak çok önemlidir., çünkü program yazarken sürekli kullanacağız.

Şimdi biraz da montajcıda örnekleri nasıl oluşturacağım hakkında. Bunları HTML formatında sunmak pek uygun değil, bu yüzden önce numaralı satırlarla program kodunun kendisi olacak ve hemen ardından açıklamalar ve notlar olacak.

Aşağı yukarı şöyle:

çizgiler Program kodu
(1) hareket ah,9

Açıklamalar:

(1) satırında bir şeyler yapıyoruz ve (15) satırında bir şeyler yapıyoruz.

Büyük Talep: Programları sayfadan panoya KOPYALAMAYIN ve ardından bunları Not Defteri'ne (veya başka herhangi bir yere) YAPIŞTIRMAYIN! Bunları bir metin düzenleyicide manuel olarak yazın. Bir yazıcı varsa, programı seçin, seçilen parçayı yazdırın ve ardından kağıttan düzenleyiciye aktarın. Tüm örnekler sizin tarafınızdan yazılmalıdır! Bu, operatörlerin ezberlenmesini hızlandıracaktır.

Ve Ötesi. Assembler'da küçük ve BÜYÜK harfler ayırt edilmez. Şunun gibi girişler:

Montajcı eşit olarak algılanır. Elbette çeviriciyi küçük ve BÜYÜK karakterleri ayırt etmeye zorlayabilirsiniz, ancak bunu şimdilik yapmayacağız. Programın okunabilirliği için, ifadeleri küçük harflerle yazmak ve alt programların ve etiketlerin adlarını büyük harflerle başlatmak en iyisidir. Ama birisi için bu şekilde uygun olacaktır.

O halde ilk programımıza geçelim:

(1) CSEG segmenti

(2) kuruluş 100 saat

(4) Başlangıç:

(6) hareket ah,9

(7) mov dx, ofset Mesajı

(8) int 21h

(10) int 20h

(11)

(12) Mesaj db "Merhaba dünya!$"

(13) CSEG biter

(14) bitişBaşlangıç

Bu örneğin tüm operatörlerini açıklamak için birkaç bölüme ihtiyacımız olacak. Bu nedenle, bu aşamada bazı komutların açıklamasını atlayacağız. Sadece böyle olması gerektiğini düşün. Çok yakın gelecekte bu operatörleri ayrıntılı olarak ele alacağız. Yani, (1), (2) ve (13) numaralı satırları yok sayarsınız.

(3), (5), (9) ve (11) numaralı satırlar boş bırakılmıştır. Bu netlik için yapılır. Assembler bunları atlayacaktır.

Şimdi diğer operatörlere geçelim. (4) satırından itibaren program kodu başlar. Bu, derleyiciye kodu başlatmasını söyleyen bir etikettir. Satır (14), end Begin (İngilizceye Başla Başlama; son son). Bu programın sonu. Genel olarak, kelime yerine Başlamak başka bir şey kullanılabilirdi. Örneğin, Başlama:. Bu durumda programı tamamlamamız gerekir. Bitir Başlat (14).

(6) (8) satırlarında Merhaba dünya! mesajı görüntülenir. Burada kısaca işlemci kayıtlarından bahsetmek gerekiyor (bu konuyu bir sonraki sayıda daha detaylı ele alacağız).

Bir işlemci kaydı, bir numarayı depolamak için ayrılmış bir hafızadır.

Örneğin:

İki sayıyı toplamak istiyorsak, matematikte şöyle yazarız:

A, B ve C bazı verilerin saklanabileceği bir tür kayıtlardır (eğer bir bilgisayar hakkında konuşursak). A=5 şu şekilde okunabilir: A'ya 5 sayısını atayın .

Bir kayda değer atamak için Assembler'da bir mov operatörü vardır (İngilizce taşıma yükünden). Satır (6) şöyle okunmalıdır: Kayıt defterine yükleniyor AH9 sayısı (başka bir deyişle, atarız AH9 numara). Aşağıda bunun neden gerekli olduğunu ele alacağız.

Satır (7)'de sicile yüklüyoruz DX çıktısı alınacak mesajın adresi (bu örnekte bu, dize olacaktır)Merhaba dünya!$).

Kesintiler, gelecekteki sürümlerde ayrıntılı olarak ele alınacaktır. Burada birkaç kelime söyleyeceğim.

Yarıda kesmek MS-DOS bir tür alt programdır (bir parçası MS-DOS), kalıcı olarak bellekte bulunur ve herhangi bir zamanda herhangi bir programdan çağrılabilir.

Yukarıdakileri bir örnekle düşünün (notları küçük harflerle vurgulayın):

İki sayı toplama programı

Ana SayfaProgramlar

A=5 A değişkeninde 5 değerini giriyoruz

B=8 değişken B değerine 8

Altprogram Çağrısı Ekleme

şimdi C 13

A=10 aynı, sadece farklı sayılar

B=25

Altprogram Çağrısı Ekleme

şimdi C 35

Program Sonu

Alt program ekleme

C=A+B

Alt programdan dönüş çağırdığımız yere dönüyoruz

Alt programın sonu

Bu örnekte, alt programı iki kez aradık. İlave değişkenlerde kendisine iletilen iki sayı ekleyen A ve B . Sonuç, C değişkenine yerleştirilir. Bir alt program çağrıldığında, bilgisayar nereden çağrıldığını hatırlar ve alt program bittiğinde, bilgisayar çağrıldığı yere geri döner. O. Alt programları herhangi bir yerden sınırsız sayıda çağırabilirsiniz.

Bir çevirici programın (8) satırını yürütürken, satırı ekrana yazdıran bir alt program (bu durumda kesme olarak adlandırılır) çağırırız. Bunu yapmak için aslında gerekli değerleri kayıtlara koyuyoruz. Tüm gerekli işler (çizgi çıktısı, imleç hareketi) alt program tarafından gerçekleştirilir. Bu satır şu şekilde okunabilir: yirmi birinci kesmeye (İngilizce'den int. yarıda kesmek yarıda kesmek). Lütfen 21 rakamından sonra bir harf olduğunu unutmayın. h . Bu, zaten bildiğimiz gibi onaltılık bir sayıdır (ondalık olarak 33). Tabii ki hiçbir şey hattı değiştirmemizi engellemiyor int 21h'den int 33'e. Program düzgün çalışacaktır. Sadece Assembler'da kesme sayısını onaltılık olarak belirtmek alışılmış bir durumdur.

(10) satırında, tahmin ettiğiniz gibi, kesme 20'yi aradık. h . Bu kesmeyi çağırmak için kayıtlarda herhangi bir değer belirtmeniz gerekmez. Yalnızca bir görevi yerine getirir: programdan çıkmak (DOS'tan çıkmak). 20h kesintisinin bir sonucu olarak, program başlatıldığı yere (yüklendi, çağrıldı) geri dönecektir. Örneğin, içinde Norton Commander veya DOS Navigator.

Satır (12), çıkarılacak mesajı içerir. İlk kelime (İleti mesaj) mesajın adı. Herhangi bir şey olabilir (örneğin, karışıklık veya ip vb.). Ö sicile yüklediğimiz satıra (7) dikkat edin DX mesaj adresimiz

Arayacağımız başka bir hat oluşturabiliriz. karışıklık2. Ardından, (9) satırından başlayarak aşağıdaki komutları girin:

(10) hareket dx, ofset Karışıklık2

(13) Mesaj db "Merhaba dünya!$"

(14) Mess2 db "Benim! $"

ve programımızı yeniden bir araya getirin. Umarım ne olacağını tahmin edersin

Satırlardaki son karaktere dikkat edin Mesaj ve Karışıklık2 - $. Çizginin sonunu gösterir. kaldırırsak 21 h kesme, bellekte bir yerde bir karakterle karşılaşılıncaya kadar çıktı vermeye devam edecektir. $. Ekranda göreceğimizçöp .

Bir hata ayıklayıcınız varsa, programımızın nasıl çalışacağını görebilirsiniz.

Bu sorunun amacı anlamak değildi. her operatörle ayrıntılı olarak. bu imkansız çünkü henüz yeterli bilgiye sahip değilsin. 3-4 sürümden sonra Assembler'daki programın prensibini ve yapısını anlayacağınıza inanıyorum. Belki montaj dilinin son derece karmaşık olduğunu düşündünüz, ama inanın bana, bir bakışta.

Sonuç çoktan alındı!

Sayı sistemleri

Konumsal ve konumsal olmayan sayı sistemleri vardır. Günlük hayatta kullandığımız Arapça sayı sistemi konumsaldır, Roman ise değildir. Konumsal sayı sistemlerinde, bir sayının konumu, sayının büyüklüğünü benzersiz bir şekilde belirler. Ondalık sayı sistemindeki 6372 sayısı örneğini kullanarak bunu düşünün. Bu sayıyı sağdan sola sıfırdan başlayarak numaralandıralım:

O zaman 6372 sayısı aşağıdaki gibi gösterilebilir:

6372=6000+300+70+2 =6 10 3 +3 10 2 +7 10 1 +2 10 0 .

10 sayısı, sayı sistemini tanımlar (bu durumda 10'dur). Verilen sayının konum değerleri derece olarak alınır.

Gerçek ondalık sayı 1287.923'ü ele alalım. Ondalık noktadan itibaren sayının sıfır konumundan başlayarak sola ve sağa doğru numaralandırıyoruz:

O zaman 1287.923 sayısı şu şekilde temsil edilebilir:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1 10 3 +2 10 2 +8 10 1 +7 10 0 +9 10 -1 +2 10 -2 +3 10 -3 .

Genel olarak, formül aşağıdaki gibi temsil edilebilir:

C n s n + C n-1 s n-1 +...+C 1 s 1 + C 0 s 0 + D -1 s -1 + D -2 s -2 + ... + D -k s -k

burada C n konumdaki bir tam sayıdır n, D -k - konumdaki kesirli sayı (-k), s- sayı sistemi.

Sayı sistemleri hakkında birkaç söz Ondalık sayı sisteminde bir sayı bir dizi rakamdan (0,1,2,3,4,5,6,7,8,9), sekizli sayı sisteminde ise oluşur. ikili sistemde - basamak kümesinden (0.1), onaltılık sayı sisteminde - basamak kümesinden (0,1, 2,3,4,5,6,7) bir basamak kümesi 1,2,3,4,5,6, 7,8,9,A,B,C,D,E,F), burada A,B,C,D,E,F, 10,11 sayılarına karşılık gelir, 12,13,14,15 Tablo 1'de sayılar farklı sayı sistemlerinde temsil edilmektedir.

tablo 1
Gösterim
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

Sayıları bir sayı sisteminden diğerine çevirmenin en kolay yolu, önce sayıyı ondalık sayı sistemine dönüştürmek ve ardından ondalık sayı sisteminden gerekli sayı sistemine çevirmektir.

Sayıları herhangi bir sayı sisteminden ondalık sayı sistemine dönüştürme

Formül (1)'i kullanarak, herhangi bir sayı sisteminden sayıları ondalık sayı sistemine dönüştürebilirsiniz.

Örnek 1. 1011101.001 sayısını ikili sayı sisteminden (SS) ondalık SS'ye dönüştürün. Çözüm:

1 2 6 +0 2 5 + 1 2 4 + 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 + 0 2 -1 + 0 2 -2 + 1 2 -3 =64+16+8+4+1+1/8=93,125

Örnek2. 1011101.001 sayısını sekizlik sayı sisteminden (SS) ondalık SS'ye dönüştürün. Çözüm:

Örnek 3 . AB572.CDF sayısını onaltılıdan ondalık SS'ye dönüştürün. Çözüm:

Burada A-10 ile değiştirildi, B- 11'de, C- 12'de, F- 15'te.

Sayıları ondalık sayı sisteminden başka bir sayı sistemine dönüştürme

Sayıları ondalık sayı sisteminden başka bir sayı sistemine dönüştürmek için sayının tamsayı kısmını ve sayının kesirli kısmını ayrı ayrı çevirmeniz gerekir.

Sayının tamsayı kısmı, ondalık SS'den başka bir sayı sistemine çevrilir - sayının tamsayı kısmı sayı sisteminin tabanına art arda bölünerek (ikili SS için - 2'ye, 8 basamaklı SS için - 8'e, 16 haneli için - 16'ya kadar vb. ) SS'nin tabanından daha az bir tam kalan elde etmek için.

Örnek 4 . 159 sayısını ondalık SS'den ikili SS'ye çevirelim:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Olarak Şekil l'de görülebilir. 1, 159 sayısı 2'ye bölündüğünde bölüm 79'u verir ve kalan 1'dir. Ayrıca 79 sayısı 2'ye bölündüğünde bölüm 39'u verir ve kalan 1'dir vb. Sonuç olarak, bölümün geri kalanından (sağdan sola) bir sayı oluşturarak, ikili SS'de bir sayı elde ederiz: 10011111 . Bu nedenle şunları yazabiliriz:

159 10 =10011111 2 .

Örnek 5 . 615 sayısını ondalık SS'den sekizli SS'ye çevirelim.

615 8
608 76 8
7 72 9 8
4 8 1
1

Bir sayıyı ondalık SS'den sekizlik SS'ye dönüştürürken, 8'den küçük bir tam sayı kalanını elde edene kadar sayıyı sırayla 8'e bölmeniz gerekir. Sonuç olarak, bölümün geri kalanından (sağdan sola) bir sayı oluştururuz. sekizli SS'de bir sayı al: 1147 (bkz. Şekil 2). Bu nedenle şunları yazabiliriz:

615 10 =1147 8 .

Örnek 6 . 19673 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Şekil 3'ten de görüleceği gibi 19673 sayısını 16'ya bölerek kalanları 4, 12, 13, 9 elde etmiş oluyoruz. Onaltılı sayı sisteminde 12 sayısı C'ye, 13 - D sayısına karşılık geliyor. onaltılık sayımız 4CD9'dur.

Doğru ondalık kesirleri (sıfır tamsayı kısmı olan bir gerçek sayı) s tabanlı bir sayı sistemine dönüştürmek için, bu sayı, kesirli kısım saf sıfır olana kadar art arda s ile çarpılmalıdır veya gerekli basamak sayısını elde ederiz. Çarpma sonucunda tamsayı kısmı sıfırdan farklı bir sayı çıkarsa, bu tamsayı kısım dikkate alınmaz (sırayla sonuca dahil edilir).

Yukarıdakileri örneklerle inceleyelim.

Örnek 7 . 0.214 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Şekil 4'te görüldüğü gibi 0.214 sayısı art arda 2 ile çarpılır. Çarpma sonucu tamsayı kısmı sıfırdan farklı bir sayı ise tamsayı kısmı ayrı yazılır (sayının soluna), ve sayı sıfır tamsayı kısmı ile yazılır. Çarpıldığında tamsayı kısmı sıfır olan bir sayı elde edilirse soluna sıfır yazılır. Çarpma işlemi, kesirli kısımda saf sıfır elde edilene veya gerekli basamak sayısı elde edilene kadar devam eder. Kalın sayıları (Şekil 4) yukarıdan aşağıya yazarak, ikili sistemde gerekli sayıyı elde ederiz: 0. 0011011 .

Bu nedenle şunları yazabiliriz:

0.214 10 =0.0011011 2 .

Örnek 8 . 0.125 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

0.125 sayısını ondalık SS'den ikiliye dönüştürmek için bu sayı art arda 2 ile çarpılır.Üçüncü aşamada 0 elde edilmiştir.Böylece aşağıdaki sonuç elde edilmiştir:

0.125 10 =0.001 2 .

Örnek 9 . 0.214 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Örnek 4 ve 5'i takiben 3, 6, 12, 8, 11, 4 sayılarını elde ederiz. Ancak onaltılık SS'de C ve B sayıları 12 ve 11 sayılarına karşılık gelir. Bu nedenle elimizde:

0,214 10 =0,36C8B4 16 .

Örnek 10 . 0.512 sayısını ondalık sayı sisteminden sekizli SS'ye çevirelim.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Var:

0.512 10 =0.406111 8 .

Örnek 11 . 159.125 sayısını ondalık sayı sisteminden ikili SS'ye çevirelim. Bunu yapmak için, sayının tamsayı kısmını (Örnek 4) ve sayının kesirli kısmını (Örnek 8) ayrı ayrı çeviririz. Bu sonuçları birleştirerek şunu elde ederiz:

159.125 10 =10011111.001 2 .

Örnek 12 . 19673.214 sayısını ondalık sayı sisteminden onaltılık SS'ye çevirelim. Bunu yapmak için, sayının tamsayı kısmını (Örnek 6) ve sayının kesirli kısmını (Örnek 9) ayrı ayrı çeviririz. Elde ettiğimiz bu sonuçları daha da birleştirerek.

Bir bilgisayar veya başka bir dijital ekipmanla iletişim kuran herkes, deneyimsiz kişilere bir tür şifre gibi görünen 10FEF gibi gizemli girişlerle karşılaşmıştır. Bu sembollerin arkasında ne gizli? Sadece sayı oldukları ortaya çıktı. Hexadecimal kullananlar

Sayı sistemleri

Her öğrenci, genellikle kullandığımız tüm sayıların oluştuğunu bilir veya en azından bir yerlerde duyar.Sadece on farklı karakter olduğu için (0'dan 9'a kadar) bu adı taşır. Bilinen sistemimizdeki herhangi bir sayı, bunlar kullanılarak yazılabilir. Ancak, onu kullanmanın her zaman uygun olmadığı ortaya çıktı. Örneğin, dijital cihazlar arasında bilgi alışverişinde bulunurken, yalnızca iki rakamın olduğu bir sayı sistemi kullanmak en kolayıdır: "0" - sinyal yok - veya "1" - bir sinyal var (gerilim veya başka bir şey) . Buna ikili denir. Ancak bu tür cihazların içindeki işlemleri onun yardımıyla anlatabilmek için çok uzun ve anlaşılması zor kayıtlar yapmak gerekecektir. Bu nedenle, onaltılık sayı sistemi icat edildi.

Onaltılık sistem kavramı

Dijital cihazlar için neden on altı farklı karakter içeren bir sistem kullanılıyor? Bildiğiniz gibi bilgisayarlardaki bilgiler, genellikle 8 bit içeren bayt biçiminde iletilir. Bir veri birimi - bir makine sözcüğü - 2 bayt, yani 16 bit içerir. Böylece on altı farklı sembol yardımıyla, değiş tokuştaki en küçük parçacık olan bilgi anlatılabilir. Onaltılık sayı sistemi, normal sayılarımızı (doğal olarak 0'dan 9'a kadar) ve ayrıca ilk harfleri (A, B, C, D, E, F) içerir. Bu sembollerin yardımıyla, herhangi bir bilgi birimini kaydetmek gelenekseldir. Onlarla herhangi bir aritmetik işlemi gerçekleştirebilirsiniz. Yani toplama, çıkarma, çarpma, bölme. Sonuç ayrıca onaltılık bir sayı olacaktır.

Uygulanabilir olduğunda

Onaltılık sistem, hata kodlarını yazmak için kullanılır. Çeşitli yazılım ürünlerinin çalışması sırasında ortaya çıkabilirler. Örneğin işletim sistemi hataları bu şekilde kodlanır. Her numara standarttır. Çalışma sırasında tam olarak hangi hatanın oluştuğunu, talimatları kullanarak kodunu çözerek öğrenebilirsiniz. Bu tür semboller, montajcı gibi düşük seviyeli dillerde program yazarken de kullanılır. Onaltılık sayı sistemi programcılar tarafından da sevilir çünkü bileşenleri çok kolay bir şekilde tüm dijital teknolojilere "yerli" olan ikili sayılara dönüştürülebilir. Bu tür sembollerin yardımıyla renk şemaları da anlatılmaktadır. Ayrıca kesinlikle bilgisayardaki tüm dosyalar (hem metin hem de grafikler ve hatta müzik veya video) yayından sonra bir dizi olarak sunulur, orijinal dosyayı onaltılık karakterler biçiminde görüntülemek en uygunudur.

Tabii ki, herhangi bir sayı farklı sayı sistemlerinde yazılabilir. Bu ondalık, ikili ve onaltılıktır. Bir kelimeyi birinden diğerine çevirmek için sayı sistemi tercümanı gibi bir hizmet kullanmalı veya belirli bir algoritma kullanarak kendiniz yapmalısınız.

  1. Onaltılık sayı sistemine aşina değilseniz bu yöntemi kullanın. Basit, sezgisel bir yöntem hemen hemen herkes tarafından kullanılabilir. Farklı sayı sistemlerini biliyorsanız, aşağıda açıklananları okuyun.

    • Onaltılık sistem hakkında hiçbir şey bilmiyorsanız, temel kavramları öğrenerek başlayın.
  2. 16'yı 1'den 5'e yükseltin ve sonuçları yazın. Onaltılık bir sayının her basamağının basamağı, 16'nın gücüne yükseltmenin sonucudur, tıpkı bir ondalık sayının her basamağının 10'un gücüne yükseltmenin sonucu olması gibi. 16'ya yükseltmenin sonuçlarının aşağıdaki listesi çeşitli güçlere dönüştürme işleminde yararlı olacaktır:

    • 16 5 = 1048576
    • 16 4 = 65536
    • 16 3 = 4096
    • 16 2 = 256
    • 16 1 = 16
    • Dönüştürülecek ondalık sayı 1048576'dan büyükse, 16'yı büyük kuvvete yükseltin ve sonucu listeye ekleyin.
  3. Listede, verilen ondalık sayıdan küçük olan en büyük sayıyı bulun. Onaltılığa dönüştürülecek verilen ondalık sayıyı yazın. Yukarıdaki listeye bakın ve verilen ondalık sayıdan küçük olan en büyük sonucu (16'nın üssü) bulun.

    • Örneğin, ondalık sayı 495'i onaltılıya dönüştürmeniz gerekir. Listeden 256 sayısını seçin.
  4. Ondalık sayıyı, seçtiğiniz 16 üssüne bölün. Bölmenin tamsayı sonucuyla çalışın - ondalık noktadan sonraki sayıları yok sayın.

    • Örneğimizde: 495 ÷ 256 = 1.93... öyleyse 1 sayısıyla çalışın (bu bir tamsayı bölümüdür).
    • Sonuç, onaltılık sayının ilk basamağıdır. Bu durumda, verilen ondalık sayıyı 256'ya böldünüz, yani 1, 256'da.
  5. İlk kalanı bulun. Yani, verilen ondalık sayının seçilen sayıya (bölen) bölümünden kalandır. Kalan, bir sütuna bölerken olduğu gibi hesaplanır.

    • Ortaya çıkan bölümü bölen ile çarpın. Örneğimizde: 1 x 256 = 256 (yani onaltılık sistemde 1, 10 tabanında 256'yı temsil eder).
    • Çarpmanın sonucunu verilen ondalık sayıdan çıkarın: 495 - 256 = 239 .
  6. Kalanı, 16'yı kuvvetlendirmenin bir sonraki (listedeki) sonucuna bölün. 16'yı farklı kuvvetlere yükseltmenin sonuçlarını içeren listeye bakın. Bir önceki bölüm için seçtiğiniz sonucun altındaki sonucu bulun. Onaltılık sayının bir sonraki basamağını bulmak için kalanı seçilen sayıya bölün (kalan seçilen sayıdan küçükse sonraki basamak 0'dır).

    • 239 ÷ 16 = 14 . Virgülden sonraki sayıları dikkate almayınız.
    • Bu, 16. yerde bulunan onaltılık sayının ikinci basamağıdır. 0 ile 15 arasındaki herhangi bir sayı, tek bir onaltılık basamakla temsil edilebilir. Ortaya çıkan sayılar dönüştürülecek ve bu yöntemin sonuna yerleştirilecektir.
  7. İkinci kalanı bulun. Bunu yapmak için, ortaya çıkan bölümü bölenle çarpın ve ardından çarpmanın sonucunu ilk kalandan çıkarın. İkinci kalan, onaltılık bir rakama dönüştürülmelidir.

    • 14*16=224
    • 239 - 224 = 15, yani kalan 15 .
  8. Kalan 16'dan az olana kadar yukarıdaki işlemi tekrarlayın. Kalan 0 ile 15 arasında bir sayı ise, tek bir onaltılık basamak olarak ifade edilebilir. Bu rakam son rakam olacaktır.

    • Onaltılık sayının son basamağı birler basamağındaki 15'tir.
  9. Alınan sayıları dönüştürün ve cevabı yazın. Onaltılık bir sayının tüm rakamlarını buldunuz. Ancak ondalık gösterimde yazılırlar. Her basamağı 16 tabanına dönüştürmek için aşağıdaki talimatları kullanın:

    • 0'dan 9'a kadar olan sayılar değişmez.
    • 10=A; 11 = B; 12=C; 13=D; 14=E; 15=K
    • Örneğimizde, (1)(14)(15) sayılarını aldınız. Yani onaltılık sayı şu şekilde yazılır: 1EF.
  10. Cevabı kontrol et. Onaltılı sayı sisteminin temellerini biliyorsanız bunu yapmak kolaydır. Her onaltılık basamağı 10 tabanlı bir basamağa dönüştürün, ardından 16'nın sonucuyla basamağın konumuna karşılık gelen kuvvetle çarpın. Örneğimizde:

    • 1EF → (1)(14)(15)
    • Sağdan sola sayılarla çalışın. 15 birler basamağında: 16 0 = 1, yani 15 x 1 = 15.
    • Bir sonraki basamak 16. sırada: 16 1 = 16, yani 14 x 16 = 224.
    • Bir sonraki hane 256'da: 16 2 = 256, yani 1 x 256 = 256.
    • Bulunan sonuçları ekleyin: 256 + 224 + 15 = 495, yani orijinal ondalık sayıyı alırsınız.