1 byte dalam heksadesimal. Tutorial bergambar tentang grafik digital. Konversi biner-oktal dan biner-heksadesimal

Berasal dari Babilonia kuno. Di India, sistem ini bekerja dalam bentuk penomoran desimal posisional menggunakan nol, di kalangan umat Hindu sistem ini nomor-nomor tersebut dipinjam oleh negara-negara Arab, dan orang-orang Eropa, pada gilirannya, mengambilnya dari mereka. Di Eropa, sistem ini mulai disebut Arab.

Sistem posisiperhitungan mati— arti semua angka bergantung pada posisi (digit) angka tertentu dalam bilangan tersebut.

Contoh, standar sistem desimal kalkulus adalah sistem penentuan posisi. Katakanlah diberi nomor453 . Nomor 4 singkatan dari ratusan dan sesuai dengan angka400, 5 - jumlah puluhan dan sesuai dengan nilainya50 , A 3 - satuan dan makna3 . Sangat mudah untuk melihat bahwa seiring bertambahnya angka, nilainya pun meningkat. Jadi, kami menulis angka yang diberikan sebagai jumlah400+50+3=453.

Sistem bilangan heksadesimal.

Sistem bilangan heksadesimal(bilangan heksadesimal) - sistem bilangan posisi. Dasarnya sistem heksadesimal perhitungan mati adalah angka 16.

Dengan menulis bilangan dalam sistem bilangan oktal kita mendapatkan ekspresi yang cukup kompak, namun dalam sistem heksadesimal kita mendapatkan ekspresi yang lebih kompak.

Sepuluh digit pertama dari enam belas digit heksadesimal adalah spasi standar 0 - 9 , enam digit berikutnya dinyatakan menggunakan huruf pertama alfabet Latin: A, B, C, D, E, F. Konversi dari heksadesimal ke sistem biner dan masuk sisi sebaliknya lakukan proses yang sama untuk sistem oktal.

Penerapan sistem bilangan heksadesimal.

Sistem bilangan heksadesimal digunakan dengan cukup baik komputer modern, Misalnya gunakan untuk menunjukkan warna: #FFFFFF- warna putih.

Mengubah bilangan dari satu sistem bilangan ke sistem bilangan lainnya.

Mengubah bilangan dari heksadesimal ke desimal.

Untuk mengubah bilangan heksadesimal menjadi bilangan desimal, Anda perlu mereduksi bilangan tersebut menjadi bentuk penjumlahan dari hasil kali pangkat basis sistem bilangan heksadesimal dengan digit-digit yang bersesuaian dalam digit-digit bilangan heksadesimal.

Misalnya, konversikan bilangan heksadesimal 5A3 ke desimal. Di Sini 3 angka. Berdasarkan aturan di atas, kami mereduksinya menjadi bentuk penjumlahan pangkat dengan basis 16:

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

Mengubah bilangan dari biner ke heksadesimal dan sebaliknya.

Untuk mengonversi bilangan biner multi-digit menjadi heksadesimal, Anda perlu membaginya menjadi tetrad dari kanan ke kiri dan mengganti semua tetrad dengan digit heksadesimal yang sesuai. Untuk mengonversi bilangan dari sistem heksadesimal ke sistem biner, Anda perlu mengubah setiap digit ke tetrad yang sesuai dari tabel konversi, yang dapat Anda temukan di bawah.

Misalnya:

010110100011 2 = 0101 1010 0011 = 5A3 16

Tabel konversi angka.

Algoritma untuk mengkonversi bilangan dari satu sistem bilangan ke sistem bilangan lainnya.

1. Dari sistem bilangan desimal:

  • membagi bilangan dengan basis sistem bilangan yang diterjemahkan;
  • temukan sisanya saat membagi bagian bilangan bulat suatu bilangan;
  • tuliskan semua sisa pembagian dalam urutan terbalik;

2. Dari sistem bilangan biner:

  • untuk mengonversi ke sistem bilangan desimal, kita mencari jumlah hasil kali basis 2 dengan derajat digit yang sesuai;
  • Untuk mengubah suatu bilangan menjadi oktal, kita membagi bilangan tersebut menjadi triad.

Misalnya, 1000110 = 1.000.110 = 1068

  • Untuk mengubah suatu bilangan dari sistem bilangan biner ke heksadesimal, kita membagi bilangan tersebut menjadi kelompok yang terdiri dari 4 digit.

Misalnya, 1000110 = 100 0110 = 4616.

Tabel terjemahan:

SS biner

SS heksadesimal

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

SS biner

Sistem bilangan heksadesimal. program pertama kami.

Untuk menulis program di Majelis, Anda perlu memahami sistem bilangan heksadesimal. Tidak ada yang rumit dalam hal ini. Kami menggunakan sistem desimal dalam kehidupan. Saya yakin Anda semua mengetahuinya, jadi saya akan mencoba menjelaskan sistem heksadesimal dengan analogi sistem desimal.

Jadi, dalam sistem desimal, jika kita menambahkan angka nol ke sembarang angka di sebelah kanan, maka angka tersebut akan bertambah 10 kali lipat. Contoh: 1 x 10 = 10; 10 x 10 = 100; 100 x 10 = 1000, dst. Dalam sistem ini kami menggunakan angka dari 0 hingga 9, yaitu. sepuluh angka berbeda (sebenarnya, itulah mengapa disebut desimal).

Dalam sistem heksadesimal, kami menggunakan enam belas "digit". Saya khusus menulis kata “digit” dalam tanda kutip, karena... Itu tidak hanya menggunakan angka. Dan sungguh, bagaimana itu bisa terjadi? Biar saya jelaskan: dari 0 sampai 9 kita menghitung dengan cara yang sama seperti dalam desimal, tetapi kemudian akan menjadi seperti ini: A, B, C, D, E, F. Angka F tidaklah sulit hitung, itu akan sama dengan 15 dalam sistem desimal (lihat Tabel 1).

Angka desimal

Angka heksadesimal

Tabel 1. Sistem desimal dan heksadesimal.

Jadi, jika kita menambahkan angka nol di sebelah kanan bilangan apa pun dalam sistem heksadesimal, maka bilangan tersebut akan bertambah16 sekali.

Contoh 1: 1x16 = 10; 10x16 = 100; 100 x 16 = 1000, dst.

Apakah Anda dapat membedakan bilangan heksadesimal dan bilangan desimal pada Contoh 1? Dan dari seri ini: 10, 12, 45, 64, 12, 8, 19? Ini bisa berupa heksadesimal atau desimal. Agar tidak terjadi kebingungan dan komputer dapat dengan jelas membedakan suatu bilangan dengan bilangan lainnya, maka dalam assembler biasanya diberi simbol h atau H setelah bilangan heksadesimal ( H adalah singkatan dari bahasa Inggris. heksadesimal (heksadesimal). Untuk singkatnya, kadang-kadang disebut saja Heksa ) . Dan jangan menaruh apapun setelah desimal. Karena angka 0 sampai 9 pada kedua sistem mempunyai arti yang sama, maka angka yang ditulis 5 dan 5h adalah sama.

Itu. Contoh 1 (lihat di atas) akan lebih tepat ditulis seperti ini: 1 x 16 = 10h; 10 jam x 16 = 100 jam; 100 jam x 16 = 1000 jam. Atau seperti ini: 1 jam x 10 jam = 10 jam; 10 jam x 10 jam = 100 jam; 100 jam x 10 jam = 1000 jam.

Kami akan melihat mengapa sistem heksadesimal diperlukan dalam edisi selanjutnya. Dan masuk saat ini untuk contoh program kita yang akan dibahas dibawah ini, kita perlu mengetahui keberadaannya angka heksadesimal.

Jadi, mari kita rangkum. Sistem bilangan heksadesimal terdiri dari 10 digit (dari 0 hingga 9) dan 6 huruf alfabet latin (A, B, C, D, E, F). Jika kita menambahkan angka nol di sebelah kanan angka apa pun dalam sistem heksadesimal, maka angka tersebut akan bertambah16 sekali. Sangat penting untuk memahami topik ini, karena kami akan terus menggunakannya saat menulis program.

Sekarang sedikit tentang bagaimana saya akan membuat contoh di Majelis. Sangat tidak nyaman untuk menyajikannya dalam format HTML, jadi pertama-tama akan ada kode program itu sendiri dengan baris bernomor, dan segera setelah itu akan ada penjelasan dan catatan.

Sesuatu seperti ini:

garis Kode program
(1) pindah ah,9

Penjelasan:

Pada baris (1) kita melakukan ini, dan pada baris (15) kita melakukan itu.

Permintaan besar: JANGAN menyalin program dari halaman ke clipboard lalu menempelkannya ke Notepad (atau di mana pun)! Ketik ulang secara manual di editor teks. Jika Anda memiliki printer, pilih programnya, cetak fragmen yang dipilih, lalu transfer ke editor dari kertas. Semua contoh harus diketik sendiri! Ini akan mempercepat hafalan operator.

Dan satu hal lagi. Tidak ada perbedaan antara huruf kecil dan huruf besar di assembler. Catatan formulir:

Assembler memandangnya dengan cara yang sama. Anda tentu saja dapat memaksa assembler untuk membedakan antara karakter huruf kecil dan huruf besar, tetapi kami tidak akan melakukannya untuk saat ini. Untuk membuat program lebih mudah dibaca, yang terbaik adalah mengetikkan operator dengan huruf kecil, dan mengawali nama subrutin dan label dengan huruf besar. Tapi itu tergantung siapa yang merasa nyaman.

Jadi, mari kita beralih ke program pertama kita:

(1) Segmen CSEG

(2)org 100 jam

(4) Mulai:

(6) pindah ah,9

(7) mov dx, pesan offset

(8) pada pukul 21.00

(10) dalam 20 jam

(11)

(12) Pesan db "Halo, dunia!$"

(13) CSEG berakhir

(14) akhir Mulai

Untuk menjelaskan semua operator dalam contoh ini, kita memerlukan beberapa edisi. Oleh karena itu, kami hanya akan menghilangkan deskripsi beberapa perintah pada tahap ini. Anggap saja memang begitulah seharusnya. Kami akan melihat operator-operator ini secara rinci dalam waktu dekat. Jadi, baris bernomor (1), (2) dan (13) Anda abaikan saja.

Baris (3), (5), (9) dan (11) dikosongkan. Hal ini dilakukan untuk kejelasan. Assembler hanya akan menghilangkannya.

Sekarang mari kita beralih ke operator lainnya. Kode program diawali dengan baris (4). Ini adalah tanda yang memberitahu assembler ke awal kode. Baris (14) berisi operator akhir Begin ( Mulailah bahasa Inggris awal; akhir akhir). Ini adalah akhir dari program. Secara umum, bukan kata Mulai sesuatu yang lain bisa saja digunakan. Misalnya, Awal:. Dalam hal ini, kami harus mengakhiri program ini Akhir Mulai (14).

Baris (6) (8) menampilkan pesan Hello, world!. Di sini kita harus membahas secara singkat tentang register prosesor (kita akan membahas topik ini lebih terinci di edisi berikutnya).

Register prosesor adalah memori yang dialokasikan khusus untuk menyimpan suatu nomor.

Misalnya:

Jika kita ingin menjumlahkan dua bilangan, maka dalam matematika kita menulisnya seperti ini:

A, B dan C ini adalah sejenis register (jika kita berbicara tentang komputer) di mana beberapa data dapat disimpan. A=5 dapat dibaca sebagai: Tetapkan A nomor 5 .

Untuk memberikan nilai pada register, ada operator mov di Assembler (dari bahasa Inggris move load). Baris (6) harus dibaca seperti ini: Memuat ke dalam register AH.nomor 9 (dengan kata lain, kami menetapkan AH.nomor 9). Di bawah ini kita akan melihat mengapa hal ini perlu.

Pada baris (7) kita memuat ke dalam register DX alamat pesan untuk keluaran (in dalam contoh ini ini akan menjadi stringHalo dunia!$).

Interupsi akan dibahas secara rinci dalam terbitan berikutnya. Di sini saya akan menyampaikan beberapa patah kata.

Mengganggu MS-DOS itu adalah semacam subrutin (bagian MS-DOS), yang tersimpan secara permanen di memori dan dapat dipanggil kapan saja dari program apa pun.

Mari kita pertimbangkan hal di atas menggunakan contoh (Catatan dalam cetakan kecil):

Program untuk menjumlahkan dua angka

Program Rumah

SEBUAH=5 Nilai 5 kita masukkan ke dalam variabel A

B=8 ke variabel B nilainya 8

Memanggil Penambahan Subrutin

sekarang C sama dengan 13

SEBUAH=10 sama saja, hanya angkanya saja yang berbeda

B=25

Memanggil Penambahan Subrutin

sekarang C sama dengan 35

Akhir Program

Penambahan Subrutin

C=A+B

KembaliDariSubrutin kami kembali ke tempat kami menelepon

Subrutin Akhir

Dalam contoh ini, kami memanggil subrutin dua kali Tambahan, yang menambahkan dua angka yang diteruskan ke variabel A dan B . Hasilnya ditempatkan dalam variabel C. Ketika subrutin dipanggil, komputer mengingat dari mana subrutin itu dipanggil, dan kemudian, ketika subrutin selesai dijalankan, komputer kembali ke tempat pemanggilannya. Itu. Anda dapat memanggil subrutin dalam jumlah yang tidak terbatas dari mana saja.

Saat menjalankan baris (8) program Majelis, kita memanggil subrutin (dalam hal ini disebut interupsi), yang menampilkan baris tersebut di layar. Untuk tujuan ini, kami sebenarnya menempatkan nilai yang diperlukan dalam register. Semua pekerjaan yang diperlukan(output baris, pergerakan kursor) diambil alih oleh subrutin. Baris ini dapat dibaca seperti ini: panggil interupsi kedua puluh satu ( int dari bahasa Inggris mengganggu mengganggu). Perlu diketahui setelah angka 21 ada huruf H . Ini, seperti yang telah kita ketahui, adalah bilangan heksadesimal (33 dalam desimal). Tentu saja, tidak ada yang menghalangi kami untuk mengganti saluran tersebut int 21 jam hingga int 33. Program ini akan bekerja dengan benar. Ini hanyalah praktik umum di Assembler untuk menunjukkan nomor interupsi dalam heksadesimal.

Pada baris (10), kami, seperti yang sudah Anda duga, memanggil interupsi 20 H . Untuk memanggil interupsi ini, Anda tidak perlu menentukan nilai apa pun di register. Ia hanya melakukan satu tugas: keluar dari program (keluar ke DOS). Sebagai hasil dari eksekusi interupsi 20 jam, program akan kembali ke tempat peluncurannya (dimuat, dipanggil). Misalnya, di Komandan Norton atau Navigator DOS.

Baris (12) berisi pesan yang akan dikeluarkan. Kata pertama ( pesan pesan) judul pesan. Bisa berupa apa saja (misalnya, kekacauan atau string, dll.). TENTANG Perhatikan baris (7) yang kita muat ke dalam register DX alamat pesan kami.

Kita dapat membuat jalur lain, yang akan kita panggil Kekacauan2. Kemudian, mulai dari baris (9), masukkan perintah berikut:

(10) gerakkan dx, offset Mess2

(13) Pesan db "Halo, dunia!$"

(14) Mess2 db "Ini AKU! $"

dan merakit kembali program kami. Saya harap Anda bisa menebak apa yang akan terjadi

Perhatikan karakter terakhir pada baris tersebut Pesan dan Mess2 - $. Ini menunjuk ke akhir baris. Jika kita menghapusnya, maka 21 H interupsi akan terus menghasilkan keluaran hingga menemukan karakter di suatu tempat di memori $. Di layar kita akan melihat sampah .

Jika Anda memiliki debugger, Anda dapat melihat cara kerja program kami.

Tujuan dari masalah ini bukanlah untuk memahami secara detail dengan masing-masing operator. Ini tidak mungkin, karena kamu belum mempunyai pengetahuan yang cukup. Saya yakin setelah 3-4 rilis Anda akan memahami prinsip dan struktur program Majelis. Mungkin bahasa Majelis tampak sangat rumit bagi Anda, tapi percayalah, ini sekilas.

Banyak pengguna komputer memahami bahwa komputer beroperasi dalam sistem bilangan biner. Secara tradisional, keadaan sistem biner diwakili oleh angka 0 dan 1, meskipun, lebih tepatnya, setiap keadaan menunjukkan ada atau tidaknya sinyal, yaitu akan lebih tepat untuk menyebut keadaan “mati” dan “hidup” , atau “tidak” dan “ya”. Keadaan “off” atau “no” sama dengan angka 0, dan keadaan “on” atau “yes” sama dengan angka 1. Untuk pengguna biasa Biasanya tidak perlu memahami sepenuhnya struktur komputer, tetapi sistem bilangan biner membuat dirinya terasa dalam bentuk berbagai batasan berdasarkan pangkat dua. Versi sistem biner yang lebih ringkas disebut heksadesimal. Angka enam belas adalah pangkat empat dari dua. Oleh karena itu, Anda dapat dengan mudah mengubah barisan biner panjang dari nol dan satu menjadi heksadesimal pendek. Untuk melakukan ini, cukup bagi barisan biner menjadi kelompok-kelompok yang terdiri dari empat digit (digit) dimulai dengan digit terkecil (di sebelah kanan) dan ganti setiap kelompok dengan nilai heksadesimal yang sesuai.

Sistem heksadesimal biasanya digunakan untuk kemudahan melihat data biner, karena konversi dari sistem heksadesimal ke sistem biner dan sebaliknya dilakukan hanya dengan mengganti string. Komputer bekerja secara eksklusif dengan barisan biner, dan notasi heksadesimal dari barisan ini empat kali lebih kompak, karena sistem ini memiliki basis 16 (2 16), dan biner 2. Urutan biner bisa sangat rumit. Misalnya, penulisan angka 513 memerlukan sepuluh digit biner (1000000001), tetapi hanya tiga digit heksadesimal (201). Namun, enam belas diperlukan untuk mewakili bilangan heksadesimal apa pun karakter yang berbeda, dan bukan sepuluh, yang digunakan dalam sistem bilangan desimal yang kita kenal. Sepuluh karakter pertama adalah karakter dalam rentang 0 hingga 9, sisanya adalah huruf alfabet Latin dalam rentang A hingga F. Huruf biasanya (tetapi tidak selalu) ditulis dalam huruf besar (kapital) dalam notasi heksadesimal dari nomor. Sepuluh karakter pertama (dari 0 hingga 9) ditulis mirip dengan angka dalam sistem bilangan desimal dan sesuai dengannya. Huruf dalam rentang A hingga F sesuai dengan nilai dalam rentang 10 hingga 15.

Mari kita perhatikan korespondensi angka dari 0 hingga 15 dengan sistem bilangan heksadesimal dan biner.

Notasi desimal Notasi heksadesimal Notasi biner
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

Entri untuk 10, 11, dst. dalam sistem desimal, biner, dan heksadesimal tidak bersesuaian satu sama lain. Mari kita lihat contoh kecilnya. Misalkan kita mempunyai bilangan heksadesimal 1A5E. Untuk mengonversi ke biner, cukup ganti digit heksadesimal dengan grup biner yang sesuai. Hasilnya adalah 0001 1010 0101 1110. Jika kita menghilangkan angka nol yang tidak signifikan sebelum bilangan tersebut dan menuliskannya tanpa pemisah, kita mendapatkan 1101001011110. Untuk mengkonversi kembali, kita membagi bilangan tersebut menjadi kelompok empat digit, dimulai dengan yang paling signifikan (dari sisi kanan), dan juga untuk kenyamanan kami akan menambahkan angka nol yang tidak signifikan kelompok senior hingga 4 digit. Kita mendapatkan 0001 1010 0101 1110. Ganti grup dengan nilai heksadesimal yang sesuai, kita mendapatkan 1A5E.

Untuk mengubah bilangan heksadesimal menjadi representasi desimal, Anda dapat menggunakan skema yang digunakan untuk menulis bilangan desimal. Dalam bilangan desimal, setiap digit melambangkan pangkat sepuluh, dimulai dari nol dan bertambah dari kanan ke kiri. Misalnya, angka desimal 123 artinya 1*10 2 + 2*10 1 + 3*10 0 . Dengan menggunakan metode serupa, kami mengubah bilangan 1A5E ke sistem bilangan desimal. Dalam sistem bilangan heksadesimal, serta dalam sistem bilangan desimal, setiap digit menunjukkan pangkat yang sesuai dari angka enam belas, dimulai dari nol dan bertambah dari kanan ke kiri. Karakter 1 dan 5 dalam heksadesimal sesuai dengan nilai 1 dan 5 dalam desimal, dan karakter A dan E sesuai dengan 10 dan 14. Kemudian 1A5E dapat direpresentasikan dalam desimal sebagai 1*16 3 + 10*16 2 + 5 *16 1 + 14*16 0 = 6750. Namun, untuk mengevaluasi bilangan heksadesimal sama sekali tidak perlu mengubahnya menjadi desimal. Aturan perbandingan, penjumlahan dan perkalian pada sistem ini sama dengan sistem desimal, yang utama jangan lupa bahwa setiap angka dapat memuat nilai dari 0 sampai 15. Selengkapnya terjemahan cepat nomor di antara sistem bilangan, Anda dapat menggunakan kalkulator standar di Windows; untuk melakukan ini, cukup pilih sistem bilangan dalam mode lanjutan kalkulator, masukkan nomor di dalamnya dan pilih sistem yang tepat nomor di mana hasilnya harus ditampilkan.

Karena bilangan heksadesimal yang hanya bersifat numerik mudah tertukar dengan bilangan desimal, bilangan tersebut biasanya ditandai sedemikian rupa sehingga memperjelas bahwa notasi heksadesimal digunakan. Entri heksadesimal biasanya ditandai dengan penambahan huruf kecil“h”, atau awalan “0x” sebelum menulis angka. Jadi, bilangan heksadesimal 1A5E dapat ditulis sebagai 1A5Eh atau 0x1A5E, dengan tanda “h” di akhir atau “0x” di awal menunjukkan bahwa notasi heksadesimal digunakan.

Notasi heksadesimal ("Hex") - cara yang nyaman representasi nilai biner. Sama seperti sistem bilangan desimal yang mempunyai basis sepuluh dan sistem bilangan biner yang mempunyai basis dua, sistem bilangan heksadesimal mempunyai basis enam belas.

Sistem bilangan basis 16 menggunakan angka 0 sampai 9 dan huruf A sampai F. Gambar tersebut menunjukkan nilai desimal, biner, dan heksadesimal yang setara untuk bilangan biner 0000 sampai 1111. Kita lebih mudah menyatakan suatu nilai sebagai satu digit heksadesimal dibandingkan empat bit

Memahami Byte

Mengingat 8 bit (byte) adalah pengelompokan biner standar, bilangan biner 00000000 hingga 11111111 dapat direpresentasikan dalam notasi heksadesimal sebagai angka 00 hingga FF. Angka nol di depan selalu ditampilkan untuk melengkapi representasi 8-bit. Misalnya, nilai biner 0000 1010 dalam heksadesimal adalah 0A.

Representasi Nilai Heksadesimal

Harap diperhatikan: Penting untuk membedakan nilai heksadesimal dari nilai desimal untuk karakter 0 hingga 9, seperti yang ditunjukkan pada gambar.

Nilai heksadesimal biasanya direpresentasikan dalam teks dengan nilai yang diawali dengan 0x (seperti 0x73), atau dengan menggunakan subskrip 16. Lebih jarang, nilai tersebut dapat diikuti dengan huruf H, seperti 73H. Namun, karena teks subskrip juga tidak dikenali baris perintah, atau dalam lingkungan pemrograman, di presentasi teknis bilangan heksadesimal didahului dengan "0x" (nol X). Oleh karena itu, contoh di atas akan ditampilkan masing-masing sebagai 0x0A dan 0x73.

Notasi heksadesimal digunakan untuk mewakili alamat MAC Ethernet dan alamat IP Versi 6.

Konversi Heksadesimal

Mengonversi angka antara nilai desimal dan heksadesimal itu sederhana, tetapi membagi atau mengalikannya dengan 16 dengan cepat tidak selalu mudah. Jika konversi seperti itu diperlukan, biasanya lebih mudah untuk mengonversi nilai desimal atau heksadesimal ke biner, lalu mengonversi nilai biner ke desimal atau heksadesimal, bergantung pada apa yang ingin Anda dapatkan.

Dengan latihan, dimungkinkan untuk mengenali pola bit biner yang sesuai dengan desimal dan nilai heksadesimal. Gambar tersebut menunjukkan pola-pola ini untuk beberapa nilai 8-bit.

Sistem bilangan heksadesimal memiliki alfabet yang terdiri dari 16 digit:

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

Saat menulis suatu bilangan dalam sistem heksadesimal, huruf A, B, C, D, E, F masing-masing digunakan untuk menulis angka-angka yang melambangkan bilangan 10, 11, 12. 13, 14. 15.

Mengubah bilangan dari heksadesimal ke desimal

Anda dapat mengonversi bilangan heksadesimal apa pun ke desimal menggunakan rumus yang sudah dikenal

Contoh.

    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 =2∙16 1 +10∙16 0 =42 10.

Konversi bilangan dari sistem desimal ke heksadesimal dilakukan dengan cara yang sama seperti ke biner.

Mengubah bilangan dari heksadesimal ke biner dan sebaliknya

Anda dapat mengonversi bilangan heksadesimal apa pun ke biner sebagai berikut. Setiap digit bilangan heksadesimal ditulis sebagai bilangan biner empat digit - buku catatan. Setelah ini, angka nol di sebelah kiri dapat dibuang.

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

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

Sebaliknya, Anda dapat mengonversi bilangan biner apa pun menjadi heksadesimal dengan cara yang sama. Setiap empat digit biner, dihitung dari kanan ke kiri, ditulis sebagai satu digit heksadesimal. Nomor-nomor ini juga terletak dari kanan ke kiri.

Contoh.

2.101010 2 = 10 1010 2 = 2A.

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

Sistem bilangan oktal

Sistem bilangan oktal memiliki alfabet yang terdiri dari 8 digit:

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

Konversi bilangan dari sistem desimal ke oktal dan sebaliknya dilakukan dengan cara yang sama seperti konversi ke/dari biner.

Mengubah bilangan dari oktal ke biner dan sebaliknya

Setiap digit bilangan oktal ditulis dalam tiga digit. bilangan biner - tiga serangkai.

Contoh.

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

1001101 2 = 001 001 101 2 = 115 8 .

Materi metodologi pelajaran laboratorium No.1

Topik pelajaran laboratorium: Sistem bilangan. Mengukur informasi.

Jumlah jam: 2.

Contoh dengan solusi

    Terjemahan dariP -sistem ary ke sistem 10-ary. Misalkan kita perlu mengubah suatu bilangan dalam sistem bilangan tertentu menjadi desimal. Untuk melakukan ini, Anda perlu merepresentasikannya dalam formulir

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.

    Konversi dari sistem 10 digit keP -ichnaya.

2.1 98 10 → X 2.

Bagilah bilangan tersebut dengan 2. Kemudian bagilah hasil bagi tidak lengkap dengan 2. Kita lanjutkan hingga hasil bagi tidak lengkap menjadi kurang dari 2, yaitu. sama dengan 1.

    98: 2 = 49. Sisa - 0 .

    49: 2 = 24. Sisa - 1 .

    24: 2 = 12. Sisa - 0 .

    12: 2 = 6. Sisa - 0 .

    6: 2 = 3. Sisa - 0 .

    3: 2 = 1 . 1 .

Sisa -

2.2 Karena hasil bagi parsial terakhir adalah 1, prosesnya selesai. Kita tuliskan semua sisanya dari bawah ke atas, dimulai dengan hasil bagi tidak lengkap terakhir, dan kita mendapatkan bilangan 1100010. Jadi 98 10 = 1100010 2.

2391 10 → X 16.

    Bagilah bilangan tersebut dengan 16. Kemudian bagi hasil bagi parsial dengan 16. Lanjutkan hingga hasil bagi parsial kurang dari 16. 7 .

    149: 16 = 9 . 5 .

2391: 16 = 149. Sisa -

2.3 Karena hasil bagi parsial terakhir (9) kurang dari 16, maka prosesnya selesai. Kita tuliskan, mulai dari hasil bagi tidak lengkap terakhir, semua sisanya dari bawah ke atas dan kita peroleh bilangan 957. Jadi 2391 10 = 957 16.

12165 10 → X 2.

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

    Jika Anda mengonversi berdasarkan pembagian ke sistem biner, Anda mendapatkan proses yang agak rumit. Anda dapat mengubah bilangan tersebut menjadi oktal terlebih dahulu, lalu mengganti angka oktal dari kanan ke kiri dengan triad.P .

Menentukan basis sistem bilangan

Seorang anak laki-laki menulis tentang dirinya: “Saya mempunyai 24 jari, 5 di masing-masing tangan, dan 12 di kaki saya.” Bagaimana ini bisa terjadi? P Larutan. Penting untuk menentukan basis sistem bilangan P =1∙P. Karena kita tahu hanya ada 10 jari kaki 10, maka 12 P + 2 = 10  P+2 = 10 10 . Dari sini kita mendapatkan persamaannya

  • = 8. Jadi yang dimaksud anak laki-laki itu adalah bilangan dalam sistem oktal. Memang ada 24 8 = 2∙8+4 = 20 10 jari kaki, dan 12 8 = 1∙8+2 = 10 10 jari kaki.

    semacam ulasan "pendek"... seolah-olah mereka sedang terburu-buru di suatu tempat