• Onaltılık kod. Dijital grafiklerle ilgili resimli eğitim

    Onaltılık sayı sistemi, ikili sayıların kompakt notasyonunun açık ara en popüler yoludur. Dijital teknolojinin geliştirilmesi ve tasarımında yaygın olarak kullanılmaktadır.

    Adından da anlaşılacağı gibi, bu sistemin temeli on altı sayısıdır. 16 veya onaltılık olarak 10 16. Karışıklığı önlemek için, ondalık sistem dışındaki sayı sistemlerinde sayıları yazarken, sayının ana gösteriminin sağ alt kısmında sayı sisteminin tabanını göstereceğiz. Sistemin temeli on altı rakamı olduğundan, sayıları temsil etmek için on altı haneye ihtiyacımız var. İlk on hane bildiğimiz ondalık sistemden (0,1,..,8,9) alınır ve Latin alfabesinden altı harf daha eklenir (a,b,c,d,e,f). Örneğin, 3f7c2 onaltılık sayısında "f" ve "c" harfleri onaltılık basamaklardır.

    Onaltılı sistemde sayma, ondalık sistemde saymaya benzer. Mevcut on altı rakamdan sayıları oluşturarak saymaya ve yazmaya çalışalım:

    Sıfır - 0 ;
    Bir - 1 ;
    İki - 2 ;
    ...
    ve benzeri…
    ...
    Sekiz - 8 ;
    Dokuz - 9 ;
    On - A;
    on bir - B;
    On iki - C;
    on üç - D;
    ondört - e;
    onbeş - F;

    Sonra ne yapacağız? Tüm numaralar gitti. Onaltı sayısı nasıl temsil edilir? Ondalık sistemde yaptığımızın aynısını yapalım. Orada on kavramını tanıttık ama burada "on altı" kavramını tanıtıyoruz ve on altının bir "on altı" ve sıfır birim olduğunu söylüyoruz. Ve bu zaten yazılabilir - "10 16".

    Bu yüzden, On altı - 10 16 (bir "onaltı", sıfır birler)
    on yedi - 11 16 (bir "on altı", bir birim)
    ...
    ve benzeri…
    ...
    Yirmi beş - 19 16 (bir "on altı", dokuz birim)
    Yirmi altı - 1 A 16 (bir "on altı", on birim)
    Yirmi yedi - 1b 16 (bir "on altı", on bir birim)
    ...
    ve benzeri…
    ...
    Otuz - 1e 16 (bir "on altı", on dört birim)
    Otuz bir - 1f 16 (bir "on altı", on beş bir)
    Otuz iki - 20 16 (iki "onaltı", sıfır birler)
    Otuz üç - 21 16 (iki "on altı", bir birim)
    ...
    ve benzeri…
    ...
    iki yüz elli beş - ff 16 (on beşe "on altı", on beş birim)

    iki yüz elli altı - 100 16 (bir "İki yüz elli altı", sıfırdan "on altı"ya kadar, sıfır birim)
    iki yüz elli yedi - 101 16 (bir "İki yüz elli altı", sıfırdan "on altı"ya kadar, bir birim)
    iki yüz elli sekiz - 102 16 (bir "İki yüz elli altı", sıfırdan "on altı"ya kadar, iki birim)
    ...
    ve benzeri...
    ...

    Bir sonraki sayıyı görüntülemek için basamak dizisini tükettiğimizde, hesabın daha büyük birimlerini gireriz (yani "on altı", "İki yüz elli altı" vb.) ve sayıyı bir uzantısıyla yazarız. rakam

    sayıyı dikkate al 3e2c 16 onaltılık sayı sistemiyle yazılmıştır. Bu konuda şunları içerdiğini söyleyebiliriz: üçe dört bin doksan altı, "e" (on dört) iki yüz elli altı, ikiye on altı ve "c" (on iki) birim. Ve değerini içerisinde yer alan sayılardan aşağıdaki gibi alabilirsiniz.

    3e2c 16 = 3 *4096+14 *256+2 *16+12 *1, bundan sonra * (yıldız) işareti çarpma anlamına gelir.

    Ancak 4096, 256, 16, 1 sayı dizisi, on altı sayısının (sayı sisteminin tabanı) tam sayı güçlerinden başka bir şey değildir ve bu nedenle şunu yazabiliriz:

    3e2c 16 = 3 *16 3 +14 *16 2 +2 *16 1 +12 *16 0

    Benzer şekilde, örneğin onaltılık bir kesir (kesirli sayı) için: 0,5a2 16 içerdiği söylenebilir: beş on altı, "a" (on) iki yüz elli altı ve iki dört bin doksan altı. Ve değeri şu şekilde hesaplanabilir:

    0,5a2 16 = 5 *(1/16) + 10 *(1/256) + 2 *(1/4096)

    Ve işte bir sayı dizisi 1/16; 1/256 ve 1/4096, on altının tamsayı katlarından başka bir şey değildir ve şunu da yazabiliriz:

    0,5a2 16 = 5 *16 -1 + 10 *16 -2 + 2 *16 -3

    Karışık sayı 7b2.1f9 için benzer şekilde şunu yazabiliriz:

    7b2.1f9 = 7 *16 2 +11 *16 1 +2 *16 0 +1 *16 -1 +15 *16 -2 +9 *16 -3

    Onaltılık bir sayının tamsayı kısmının rakamlarını sağdan sola 0,1,2 ... n olarak numaralandırıyoruz (numaralandırma sıfırdan başlar!). Ve kesirli kısmın -1, -2, -3 ... -m gibi soldan sağa basamakları, ardından bazı onaltılık sayıların değeri aşağıdaki formülle hesaplanabilir:

    N = d n 16 n +d n-1 16 n-1 +…+d 1 16 1 +d 0 16 0 +d -1 16 -1 +d -2 16 -2 +…+d -(m-1) 16 -(m-1) +d -m 16 -m

    Nerede: N- eksi bir sayısının tamsayı kısmındaki basamak sayısı;
    M- sayının kesirli kısmındaki basamak sayısı
    d ben- numara Ben-inci kategori

    Bu formül, onaltılık bir sayının bit düzeyinde genişlemesi için formül olarak adlandırılır, yani. onaltılık sistemde yazılmış sayı. Bu formüldeki on altı sayısını keyfi bir sayı ile değiştirirsek Q, sonra yazılan sayı için genişletme formülünü elde ederiz. q. sayı sistemi, yani taban ile Q:

    N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q - (m-1) +d -m q -m

    Bu formülü kullanarak, herhangi bir konumsal sayı sisteminde yazılan bir sayının değerini her zaman bir taban ile hesaplayabilirsiniz. Q.

    Diğer sayı sistemleri web sitemizde aşağıdaki linklerde bulunabilir.

    Ş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 1 milyar 4096 1000
    28 1C

    Onaltılık sistem, ikili bilgileri daha kompakt bir şekilde yazmak için kullanılır. 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.

    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 kere.

    Ö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 kere. 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.

    Bunun gibi:

    ç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 İstek: 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 ilerisi. 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şlangıç; son son). Bu programın sonu. Genel olarak, kelime yerine Başlamak başka bir şey kullanılabilirdi. Örneğin, Başlangıç:. 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. Ek 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.). HAKKINDA 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.

    Bir mikroişlemcide sayıları temsil etmek için, İkili sistem.
    Bu durumda, herhangi bir dijital sinyalin iki sabit durumu olabilir: "yüksek seviye" ve "düşük seviye". İkili sistemde, herhangi bir sayının görüntüsü için sırasıyla iki basamak kullanılır: 0 ve 1. Keyfi sayı x=a n a n-1 ..a 1 a 0 ,a -1 a -2 …a -m ikili gösterimde şu şekilde yazılmıştır:

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

    Nerede bir ben— ikili basamaklar (0 veya 1).

    Sekizli sayı sistemi

    Sekizli sayı sisteminde, temel basamaklar 0'dan 7'ye kadar olan sayılardır. En önemsiz 8 bit, en anlamlı birimde birleştirilir.

    Onaltılık sayı sistemi

    Onaltılık sayı sisteminde, temel basamaklar 0'dan 15'e kadar olan sayılardır. 9'dan büyük temel basamakları bir karakterle belirtmek 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 olarak 175 10 sayısı AF 16 olarak yazılacaktır. Gerçekten mi,

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

    Tablo, ondalık, ikili, sekizli ve onaltılık sayı sistemlerinde 0'dan 16'ya kadar sayıları içerir.

    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 D
    14 1110 16 e
    15 1111 17 F
    16 10000 20 10

    İkili-sekizli ve ikili-onaltılık dönüşümler

    İkili sayı sistemi, aritmetik işlemleri mikroişlemci donanımıyla yapmak için uygundur, ancak çok sayıda rakam gerektirdiğinden insan algısı için sakıncalıdır. Bu nedenle, bilgisayar teknolojisinde, ikili sayı sistemine ek olarak, sayıların daha kompakt bir gösterimi için sekizli ve onaltılık sayı sistemleri yaygın olarak kullanılmaktadır.

    Sekizli sayı sisteminin üç biti, ikili sayı sistemindeki tüm olası sekizli basamak kombinasyonlarını uygular: 0'dan (000) 7'ye (111). Bir ikili sayıyı sekizli sayıya dönüştürmek için, ikili basamakları tamsayı ve kesirli parçaların ayırıcısından başlayarak iki yönde 3 basamaklı gruplar (üçlüler) halinde birleştirmeniz gerekir. Gerekirse orijinal sayının soluna önemsiz sıfırlar eklenmelidir. Sayı bir kesirli kısım içeriyorsa, tüm üçlüler dolana kadar sağına önemsiz sıfırlar da eklenebilir. Daha sonra her üçlü bir sekizli basamakla değiştirilir.

    Örnek: 1101110.01 2 sayısını sekizliye çevirin.

    İkili basamakları sağdan sola üçlü olarak birleştiriyoruz. biz alırız

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

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

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

    Onaltılık sayı sisteminin dört biti, ikili sayı sistemindeki tüm olası onaltılık basamak kombinasyonlarını uygular: 0'dan (0000) F(1111'e). Bir ikili sayıyı onaltılıya dönüştürmek için, ikili basamakları tamsayı ve kesirli parçaların ayırıcısından başlayarak iki yönde 4 basamaklı gruplar (tetradlar) halinde birleştirmeniz gerekir. Gerekirse orijinal sayının soluna önemsiz sıfırlar eklenmelidir. Sayı bir kesirli kısım içeriyorsa, tüm tetradlar dolana kadar sağına önemsiz sıfırlar da eklenmelidir. Her tetrad daha sonra onaltılık bir rakamla değiştirilir.

    Örnek: 1101110.11 2 sayısını onaltılıya dönüştürün.

    İkili basamakları sağdan sola dörtlü olarak birleştiriyoruz. biz alırız

    0110 1110.1100 2 = 6E,C16 .

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

    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'nın üssünü yükseltmenin 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.