Onaltılık rakamlar. Onaltılık sayı sistemi ne işe yarar?

  • 04.09.2019

Birçok bilgisayar kullanıcısı, bir bilgisayarın ikili sayı sisteminde çalıştığını anlar. Geleneksel olarak, ikili sistemin durumları 0 ve 1 sayıları ile temsil edilir, ancak daha kesin olarak her durum bir sinyalin varlığını veya yokluğunu belirtir, yani durumları "kapalı" ve "olarak adlandırmak daha doğru olur. açık" 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 genellikle bilgisayarın yapısını tam olarak anlaması gerekmez, ikili sayı sistemini anlaması gerekir. iki gücün gücüne dayalı çeşitli kısıtlamalar şeklinde kendini hissettirir... İkili sistemin daha kompakt bir versiyonuna onaltılık denir. On altı, ikinin dördüncü kuvvetidir. Bundan, uzun ikili sıfır ve bir dizilerini kısa onaltılık dizilere dönüştürmenin oldukça kolay olduğu sonucu çıkar. Bunu yapmak için, ikili diziyi en az anlamlı bitten (sağda) başlayarak dört basamaklı (sayı) gruplara bölmek ve her grubu karşılık gelen onaltılık değerle değiştirmek yeterlidir.

Onaltılık sistemden ikili sisteme çeviriler ve bunun tersi, basit bir dizge ikamesi ile gerçekleştirildiğinden, ikili verileri algılamanın rahatlığı için onaltılık sistemi kullanmak gelenekseldir. Bilgisayar yalnızca ikili dizilerle çalışır ve bu dizinin onaltılık gösterimi dört kat daha kompakttır, çünkü bu sistem bir taban 16 (2 16) ve ikili 2'ye sahiptir. İkili dizi oldukça hantal olabilir. Örneğin, 513 on ikili basamak (1000000001) gerektirir, ancak onaltılık yalnızca üç (201) gerektirir. Bununla birlikte, herhangi bir onaltılık sayıyı temsil etmek için, bildik ondalık gösterimimizde kullanılan on karakter yerine on altı farklı karakter gerekir. İlk on karakter 0 ila 9 aralığındaki karakterlerdir, geri kalanı A ila F aralığındaki Latin alfabesinin harfleridir. Harfler genellikle (ancak her zaman değil) onaltılık gösterimde büyük harfle (büyük harfle) yazılır. sayı. İlk on karakter (0'dan 9'a kadar) ondalık sayılarla aynı şekilde yazılır ve bunlara karşılık gelir. A ile F aralığındaki harfler, 10 ile 15 aralığındaki değerlere karşılık gelir.

0'dan 15'e kadar onaltılık ve ikili sayı sistemleri arasındaki sayıların yazışmalarını 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 NS 1101
14 E 1110
15 F 1111

Ondalık, ikili ve onaltılık sistemlerde 10, 11 vb. girdiler eşleşmiyor. Küçük bir örneğe bakalım. Diyelim ki 1A5E onaltılık bir sayımız var. ikiliye 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ı atıp ayırıcı olmadan yazarsak 1101001011110 elde ederiz. Tersine çeviri için sayıyı alttan başlayarak dört basamaklı gruplara ayırın (üzerinde) sağ taraf) ve ayrıca kolaylık sağlamak için kıdemli grupta 4 haneye önemsiz sıfırlar ekleyin. 0001 1010 0101 1110 elde ederiz. Grupları karşılık gelen onaltılık değerlerle değiştirin, 1A5E elde ederiz.

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 olarak, her basamak sıfırdan başlayıp sağdan sola doğru artan on'un karşılık gelen gücünü temsil eder. Örneğin, ondalık 123, 1 * 10 2 + 2 * 10 1 + 3 * 10 0 anlamına gelir. Benzer şekilde 1A5E sayısını ondalık sayı sistemine çeviriyoruz. Onaltılık gösterimde ve ondalık gösterimde her basamak, sıfırdan başlayıp sağdan sola doğru artan on altı sayısının karşılık gelen gücünü gösterir. Onaltılık gösterimde 1 ve 5 karakterleri ondalık gösterimde 1 ve 5'e karşılık gelir ve A ve E karakterleri 10 ve 14'e karşılık gelir. O zaman 1A5E ondalık gösterimde 1 * 16 3 + 10 * 16 2 + 5 * 16 1 + olarak temsil edilebilir. 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 sayı ile aynıdır, asıl mesele her basamağın 0'dan 15'e kadar değerler içerebileceğini unutmamaktır. Sayı sistemi arasında sayıların daha hızlı çevrilmesi için şunları yapabilirsiniz: Windows'ta standart hesap makinesini kullanın, bunun için hesap makinesinin gelişmiş modunda yeterlidir, bir sayı sistemi seçin, içine bir sayı girin ve sonucun görüntülenmesi gereken istenen sayı sistemini seçin.

Yalnızca sayı olan 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 olacak şekilde etiketlenirler. Onaltılık girişler genellikle ya sonuna küçük bir "h" harfi ya da sayı yazılmadan önce "0x" öneki eklenerek işaretlenir. Böylece, 1A5E onaltılı sayısı 1A5Eh veya 0x1A5E olarak yazılabilir, burada sondaki “h” veya başlangıçtaki “0x” onaltılık gösterimin kullanıldığını gösterir.

Assembler'da program yazmak için onaltılık sayı sistemini anlamanız gerekir. Bunda karmaşık bir şey yok. Hayatımızda ondalık sistemi kullanırız. Eminim hepiniz biliyorsunuzdur, bu yüzden onaltılık sistemi ondalık sayıya benzeterek açıklamaya çalışacağım.

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

Onaltılık sistemde sırasıyla on altı "rakam" kullanırız. "Rakamlar" kelimesini kasten tırnak içinde yazdım, tk. sayılardan fazlasını kullanır. Gerçekten, bu nasıl? Açıklıyorum: 0'dan 9'a ondalık sayı ile aynı şekilde sayıyoruz, ama sonra şöyle olacak: A, B, C, D, E, F. F sayısı, zor değil say, ondalık sistemde 15'e eşit olacaktır (bkz. tablo 1).

Ondalık

onaltılık sayı

Tablo 1. Ondalık ve Onaltılık Sistemler.

Dolayısıyla onaltılı sistemde herhangi bir sayının sağına sıfır eklersek bu sayı şu kadar artacaktır.16 bir Zamanlar.

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

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

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

Onaltılık sistemin ne işe yaradığına gelecek sürümlerde bakacağız. Şu anda aşağıda tartışacağımız örnek programımız için onaltılık sayıların varlığını bilmemiz gerekiyor.

O halde özetleyelim. Onaltılık sayı sistemi 10 basamak (0'dan 9'a kadar) ve Latin alfabesinin 6 harfinden (A, B, C, D, E, F) oluşur. Sağdaki onaltılık sistemde herhangi bir sayıya sıfır eklersek, bu sayı artacaktır.16 bir Zamanlar. Bu konuyu anlamak çok önemlidir., çünkü programları yazarken her zaman kullanacağız.

Şimdi Assembler'da nasıl örnekler oluşturacağım hakkında biraz. Bunları HTML formatında getirmek çok uygun değildir, bu nedenle önce numaralandırılmış satırlarla program kodunun kendisi olacak ve hemen ardından açıklamalar ve notlar olacaktır.

Bunun gibi:

Teller Program kodu
(1) hareket ah, 9

Açıklamalar:

(1) satırında şunu şunu şunu yapıyoruz ve (15) satırında bunu yapıyoruz.

Büyük istek: Programları sayfadan panoya kopyalayıp Not Defteri'ne (veya başka bir yere) YAPIŞTIRMAYIN! Bunları bir metin düzenleyicide elle yeniden yazın. Yazıcınız varsa, programı seçin, seçimi yazdırın ve ardından kağıttan editöre aktarın. Tüm örnekleri kendiniz yazmanız gerekiyor! Bu, operatörlerin ezberlenmesini hızlandıracaktır.

Ve Ötesi. Assembler'da küçük ve BÜYÜK harfler ayırt edilmez. Formun kayıtları:

Montajcı tarafından aynı şekilde algılanırlar. Elbette, Assembler'ı küçük harf ve BÜYÜK HARF karakterlerini ayırt etmeye zorlayabilirsiniz, ancak şimdilik bunu yapmayacağız. Programın okunmasını kolaylaştırmak için, ifadeleri küçük harflerle yazmak ve alt program ve etiketlerin adlarını büyük harfle başlatmak en iyisidir. Ama bu şekilde herkes rahat edecek.

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

(1) CSEG segmenti

(2) kuruluş 100h

(4) Başlayın:

(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 örnekteki tüm operatörleri açıklamak için birden fazla sürüme ihtiyacımız var. Bu nedenle, bu aşamada bazı komutların açıklamasını basitçe atlayacağız. Sadece böyle olması gerektiğini düşünün. Çok yakın bir gelecekte, bu operatörleri ayrıntılı olarak ele alacağız. Böylece, (1), (2) ve (13) numaralı satırları görmezden gelirsiniz.

(3), (5), (9) ve (11) satırları boş kalıyor. Bu netlik için yapılır. Montajcı basitçe onları atlayacaktır.

Şimdi diğer operatörleri ele almaya devam edelim. Satır (4) program kodunu başlatır. Bu, Assembler'ı kodun başına yönlendiren bir etikettir. Satır (14) sonunu içerir Başlangıç ​​(İng. Başlangıç; son son). Bu programın sonu. Genel olarak, bir kelime yerine Başlamak başka bir şey kullanabilirdi. Örneğin, Başlangıç ​​:. Bu durumda programı bitirmemiz gerekir. Bitiş Başlangıç ​​(14).

Satırlar (6) (8) Hello, world ! mesajını görüntüler. Burada kısaca işlemci kayıtları hakkında konuşmamız gerekecek (bu konuya bir sonraki sürümde daha ayrıntılı bakacağız).

İşlemci kaydı, bir numarayı saklamak için özel olarak belirlenmiş bir bellektir.

Örneğin:

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

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

Bir kayda değer atamak için Assembler'da bir mov (İngilizce hareketten yüke) operatörü vardır. Satır (6) şu şekilde okunmalıdır: Kayıt defterine yükle AH9 numara (başka bir deyişle, atadık AH9 numara). Aşağıda bunun neden gerekli olduğunu ele alacağız.

(7) numaralı satırda kayıt defterine yüklüyoruz DX görüntülenecek mesajın adresi (bu örnekteMerhaba dünya!).

Kesintiler, gelecek sürümlerde ayrıntılı olarak tartışılacaktır. Burada birkaç kelime söyleyeceğim.

Kesmek MS-DOS bu bir tür alt programdır (kısım MS-DOS), kalıcı olarak bellekte bulunan ve herhangi bir programdan herhangi bir zamanda çağrılabilir.

Bir örnek kullanarak yukarıdakileri düşünün (küçük baskıdaki notları seçin):

İki sayı ekleme programı

Başlangıç ​​Programları

bir = 5 A değişkenine 5 değerini giriyoruz

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

Çağrı Rutinleri Ekleme

şimdi C 13

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

B = 25

Çağrı Rutinleri Ekleme

şimdi C 35

Programın sonu

Altyordam Ekleme

C = A + B

Rutinlerden Dönüş çağırdıkları yere dönüyoruz

EndRutinler

Bu örnekte, alt programı iki kez çağırdık. Ek değişkenlerde kendisine iletilen iki sayıyı 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 daha sonra alt programın çalışması bittiğinde bilgisayar çağrıldığı yere döner. O. altyordamlar her yerden süresiz olarak çağrılabilir.

Bir Assembler programının (8) satırını çalıştırdığımızda, dizeyi 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 (satır çıkışı, imleç hareketi) alt program tarafından üstlenilir. Bu satır şu şekilde okunabilir: yirmi birinci kesmeyi çağırın (İngilizceden int. kesmek 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 engellemez int 21h ila int 33. Program düzgün çalışacaktır. Assembler'da kesme numarasını onaltılık sistemde belirtmek gelenekseldir.

(10) satırında, siz tahmin ettiniz, biz interrupt 20 diyoruz H ... Bu kesmeyi çağırmak için registerlarda herhangi bir değer belirtmenize gerek yoktur. Sadece bir şey yapar: programdan çıkın (DOS'tan çıkın). 20h kesmesinin yürütülmesinin bir sonucu olarak, program başlatıldığı (yüklendiği, çağrıldığı) yere dönecektir. Örneğin, Norton Commander veya DOS Navigator.

Satır (12), görüntülenecek mesajı içerir. İlk kelime (İleti mesaj) mesajın adı. Herhangi bir şey olabilir (örneğin, karışıklık veya dize, vb.). Ö Kayda yüklediğimiz satıra (7) bir göz atın DX mesajımızın adresi.

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

(10) mov dx, karışıklık2 ofset

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

(14) Mess2 db "Bu Benim! $"

ve programımızı yeniden birleştirin. Umarım ne olacağını tahmin etmişsindir

Satırlardaki son karaktere dikkat edin Mesaj ve Mess2 - $. Çizginin sonuna işaret ediyor. Kaldırırsak, o zaman 21 H kesme, bellekte bir yerde bir karakterle karşılaşana kadar çıktı vermeye devam edecektir. $. ekranda göreceğimizçöp .

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

Bu konunun amacı anlamak değildi her operatörle ayrıntılı olarak... Bu imkansız, çünkü Henüz yeterli bilgiye sahip değilsiniz. 3-4 sayı sonra bir assembler programının prensibini ve yapısını anlayacağınıza inanıyorum. Assembly dilini son derece karmaşık bulmuş olabilirsin, ama inan bana, ilk bakışta öyle.

Şimdi onaltılık sayı sistemi ile ilgili çok kolay bir yürüyüş var. Bu durumda, şimdi 16 farklı numaramız olması gerektiğinden şüpheleneceğinizi umuyoruz ve görünüşe göre haklısınız.

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

Yorum Yap
Böylece, "İşaretler" konusunda tamamen tasarım sorunu ortaya çıkıyor - sayılar için eksik semboller bulmak
.

Bu, bir zamanlar uzmanların bazı yeni işaretler bulması gerektiği anlamına gelir. Ancak bilgisayar çağının ilk günlerinde, işaretlerde çok az seçenek vardı. Programcılar sadece sayı ve harflerden oluşan işaretlere sahipti. 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 Yap
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 on altı olmalı. rakamlar, 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, bu sadece 16 hane alacaktır. Örneğin, "D" basamağı "13" ondalık sayısıdır ve "F" basamağı "15" ondalık sayısıdır.

Onaltılık "F" sayısına bir eklediğimizde, bu sayılar tükendiğinden, bu basamağa "O" koyarız ve bir sonraki basamağa aktarırız, böylece ondalık sayının "16" olduğu ortaya çıkar. " onaltılık gösterim sisteminde "10" sayısı olarak temsil edilecek, yani "onaltılık on" çıkıyor. 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 arasındaki yazışmalar.

Ondalık onaltılık sayı Ondalık onaltılık sayı
0-9 0-9 29 1B
10 A 30 1E
11 V 31 1F
12 İLE BİRLİKTE 32-41 20-29
13 NS 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, dört bitlik bir "onaltılık bin", ikili sistemde on üç bittir (1000 16 = 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ık sayı sistemi(ayrıca - onaltılık kod), 16 tamsayı tabanına sahip bir konumsal sayı sistemidir. Bazen literatürde onaltılık terimi de kullanılır ("onaltılı" olarak telaffuz edilir, onaltılık için kısa). Bu sayı sisteminin numaraları için 0-9 Arap rakamlarının yanı sıra Latin alfabesi A-F'nin ilk karakterlerini kullanmak gelenekseldir. Harfler aşağıdaki ondalık değerlere karşılık gelir:

  • * A —10;
  • * B —11;
  • * C —12;
  • * D-13;
  • * E - 14;
  • * F - 15.

Böylece, on Arap rakamı, altı Latin harfiyle birlikte, sistemin on altı basamağını oluşturur.

Bu arada, sitemizde Çevrimiçi Kod Hesaplayıcıyı kullanarak herhangi bir metni ondalık, onaltılık, ikili koda çevirebilirsiniz.

Başvuru. onaltılık kod düşük seviyeli programlamada ve çeşitli bilgisayar referans belgelerinde yaygın olarak kullanılır. Sistemin popülaritesi, modern bilgisayarların mimari çözümleriyle doğrulanır: içlerinde bir bayt (sekiz bitten oluşan) minimum bilgi birimi olarak ayarlanır - ve bir baytın değeri, iki onaltılık basamak kullanılarak uygun şekilde yazılır. Bayt değeri # 00 ile #FF arasında olabilir (ondalık olarak 0 ile 255 arası) - başka bir deyişle, onaltılık kod, baytın herhangi bir durumunu, "fazladan" kullanılmayan basamak bırakmadan yazabilirsiniz.

kodlamada tek kod karakter numarasını kaydetmek için dört onaltılık basamak kullanılır. RGB renk kaydı (Kırmızı, Yeşil, Mavi - kırmızı, yeşil, mavi) ayrıca genellikle onaltılık kod kullanır (örneğin, # FF0000 - parlak kırmızı renk).

Onaltılık kod için yazma yöntemi.

Matematiksel yazma yöntemi... Matematiksel gösterimde, sistemin temeli, sayının sağındaki bir alt simge içinde ondalık gösterimde yazılır. 3032 sayısının ondalık gösterimi 3032 10 şeklinde yazılabilir, onaltılık sistemde bu sayı BD8 16 kaydına sahip olacaktır.

Programlama dillerinin söz diziminde... Farklı programlama dillerinin sözdizimi, sayıları farklı şekilde yazma biçimini belirler. onaltılık kod:

* Montaj dilinin bazı çeşitlerinin söz diziminde, sayının sağına yerleştirilen Latince "h" harfi kullanılır, örneğin: 20Dh. Sayı bir Latin harfiyle başlıyorsa, önünde bir sıfır bulunur, örneğin: 0A0Bh. Bu, kullanılarak sabit değerlerden ayırt etmek için yapılır. onaltılık kod;

* Diğer montajcı çeşitlerinin yanı sıra Pascal (ve onun Delphi gibi tatları) ve bazı Temel lehçeler "$" önekini kullanır: $ A15;

* HTML biçimlendirme dilinde ve basamaklı CSS dosyalarında, rengi onaltılık gösterimle RGB formatında belirtmek için "#": # 00DC00 öneki kullanılır.

Onaltılık bir kodu başka bir sisteme nasıl çevirebilirim?

Onaltılıdan ondalık sayıya dönüştürme. Onaltılıdan ondalık sayıya dönüştürme işlemi yapmak için, orijinal sayının, bir onaltılık sayının basamaklarındaki rakamların çarpımlarının tabanının kuvvetiyle toplamı olarak gösterilmesi gerekir.

İkili SS

onaltılık SS

Örneğin, onaltılık A14 sayısını çevirmek istiyorsunuz: üç rakamı var. Kuralı kullanarak, 16 tabanlı derecelerin toplamı olarak yazıyoruz:

A14 16 = 10.16 2 + 1.16 1 + 4.16 0 = 10.256 + 1.16 + 4.1 = 2560 + 16 + 4 = 2580 10

Sayıları ikiliden onaltılıya veya tam tersine dönüştürme.

Çeviri için bir defter tablosu kullanılır. Bir sayıyı ikili sistemden ondalık sisteme dönüştürmek için, onu sağdan sola ayrı dörtlülere bölmek, ardından tabloyu kullanarak her dörtlüyü karşılık gelen onaltılık basamakla değiştirmek gerekir. Ayrıca, basamak sayısı dördün katı değilse, o zaman sayının sağına karşılık gelen sıfır sayısını eklemek gerekir, böylece toplam ikili basamak sayısı dördün katı olur.

Çeviri için defter tablosu.

Onaltılıdan ikiliye dönüştürmek için ters işlemi gerçekleştirmelisiniz: her basamağı tablodan bir dörtlü ile değiştirin.

İkili SS

Sekizlik SS

Örnek onaltılıdan ikiliye dönüştürme: A5E 16 = 1010 0101 1110 = 101001011110 2

Örnek ikiliden onaltılıya dönüştürme: 111100111 2 = 0001 1110 0111 = 1E7 16

Bu örnekte, orijinal ikili sayıdaki basamak sayısı dört (9) değildi, bu nedenle anlamlı olmayan sıfırlar eklendi - toplam basamak sayısı 12 oldu.

Otomatik çeviri... Onaltılık sayı sisteminden üç popüler sistemden birine (ikili, sekizli ve ondalık) hızlı çeviri ve ters çeviri, Windows ile birlikte verilen standart bir hesap makinesi kullanılarak gerçekleştirilebilir. Hesap makinesini açın, menüden Görünüm -> Programlayıcı'yı seçin. Bu modda, o anda kullanılan sayı sistemini ayarlayabilirsiniz (soldaki menüye bakın: Onaltılı, Aralık, Ekim, Bin). Bu durumda sistem otomatik olarak mevcut numarayı değiştirerek çevirir.

Bir mikroişlemcideki sayıları temsil etmek için kullanılır ikili sayı sistemi.
Bu durumda, herhangi bir dijital sinyalin iki kararlı durumu olabilir: "yüksek seviye" ve "düşük seviye". İkili sayı sisteminde, herhangi bir sayıyı temsil etmek için sırasıyla iki basamak kullanılır: 0 ve 1. İsteğe bağlı bir sayı. x = bir n bir n-1 ..a 1 bir 0, bir -1 bir -2… bir -m ikili olarak yazılacak

x = bir 2 n + bir n-1 2 n-1 +… + bir 1 2 1 + bir 0 2 0 + bir -1 2 -1 + bir -2 2 -2 +… + bir -m 2 -m

nerede bir ben- ikili rakamlar (0 veya 1).

Sekizli sayı sistemi

Sekizli sistemde, temel rakamlar 0'dan 7'ye kadar olan rakamlardır. En az anlamlı 8 birim, en anlamlı olanda birleştirilir.

Onaltılık sayı sistemi

Onaltılık gösterimde, temel rakamlar 0 ile 15 arasındaki rakamlardır. Bir karakterde 9'dan fazla temel basamak belirlemek için, 0 ... 9 Arap rakamlarına ek olarak, onaltılık sayı sisteminde Latin alfabesinin harfleri kullanılır:

10 10 = A 16 12 10 = C 16 14 10 = E 16
11 10 = B 16 13 10 = D 16 15 10 = F 16.

Örneğin onaltılık gösterimde 175 10 sayısı AF 16 olarak yazılacaktır. Yok canım,

10 16 1 + 15 16 0 = 160 + 15 = 175

Tablo, ondalık, ikili, sekizli ve onaltılık gösterim sistemlerinde 0'dan 16'ya kadar olan sayıları göstermektedir.

Ondalık İkili Sekizli onaltılık
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 NS
14 1110 16 E
15 1111 17 F
16 10000 20 10

İkiliden sekizliye ve ikiliden onaltılıya dönüşümler

İkili sayı sistemi, mikroişlemcinin donanımı ile aritmetik işlemler yapmak için uygundur, ancak çok sayıda bit gerektirdiği için insan algısı için elverişsizdir. Bu nedenle, bilgisayar teknolojisinde, ikili sayı sistemine ek olarak, sayıların daha kompakt bir temsili için sekizli ve onaltılı sayı sistemleri yaygın olarak kullanılmaktadır.

Üç basamaklı sekizli sayı sistemi, ikili sayı sistemindeki olası tüm sekizlik basamak kombinasyonlarını uygular: 0 (000) ila 7 (111). İkili bir sayıyı sekizliye dönüştürmek için, ikili sayıları ondalık ayırıcıdan başlayarak iki yönde 3 basamaklı (üçlü) gruplar halinde birleştirmeniz gerekir. Gerekirse, orijinal sayının soluna önemsiz sıfırlar ekleyin. Sayı bir kesirli kısım içeriyorsa, tüm üçlüler doldurulana kadar sağına önemsiz sıfırlar da eklenebilir. Daha sonra her üçlü, sekizli bir rakamla değiştirilir.

Örnek: 1101110.01 2'yi sekizliğe dönüştürün.

İkili rakamları sağdan sola üçlüler halinde birleştiriyoruz. alırız

001 101 110,010 2 = 156,2 8 .

Bir sayıyı sekizliden ikiliye dönüştürmek için, her sekizli basamağı ikili kodda yazmanız gerekir:

156,2 8 = 001 101 110,010 2 .

Dört basamaklı onaltılık sayı sistemi, ikili gösterimde onaltılık basamakların olası tüm kombinasyonlarını uygular: 0 (0000) ila F (1111). İkili bir sayıyı onaltılık sayıya dönüştürmek için, ikili sayıları ondalık ayırıcıdan başlayarak iki yönde 4 basamaklı (tetrad) gruplar halinde birleştirmeniz gerekir. Gerekirse, orijinal sayının soluna önemsiz sıfırlar ekleyin. Sayı kesirli bir kısım içeriyorsa, sağına tüm defterler dolana kadar önemsiz sıfırlar eklemeniz gerekir. Daha sonra her not defteri bir onaltılık basamakla değiştirilir.

Örnek: 1101110.11 2'yi onaltılık gösterime dönüştürün.

İkili sayıları sağdan sola tetradlar halinde birleştiririz. alırız

0110 1110.1100 2 = 6E, C 16.

Bir sayıyı onaltılıdan ikiliye dönüştürmek için, her onaltılık basamağı ikili kodda yazmanız gerekir.