Sistem nombor. Pemindahan dari satu sistem ke sistem yang lain. Menukar nombor kepada sistem nombor yang berbeza dengan penyelesaian

Kami menghadapi sistem nombor binari semasa mempelajari disiplin komputer. Lagipun, berdasarkan sistem ini pemproses dan beberapa jenis penyulitan dibina. Terdapat algoritma khas untuk menulis nombor perpuluhan dalam sistem binari dan sebaliknya. Jika anda tahu prinsip membina sistem, ia tidak akan sukar untuk beroperasi di dalamnya.

Prinsip membina sistem sifar dan satu

Sistem nombor binari dibina menggunakan dua digit: sifar dan satu. Mengapa nombor tertentu ini? Ini disebabkan oleh prinsip membina isyarat yang digunakan dalam pemproses. Pada tahap paling rendah, isyarat hanya mengambil dua nilai: palsu dan benar. Oleh itu, adalah kebiasaan untuk menandakan ketiadaan isyarat, "palsu," dengan sifar, dan kehadirannya, "benar," dengan satu. Gabungan ini mudah dilaksanakan secara teknikal. Nombor dalam sistem binari dibentuk dengan cara yang sama seperti dalam sistem perpuluhan. Apabila digit mencapai had atasnya, ia ditetapkan semula kepada sifar dan digit baharu ditambah. Prinsip ini digunakan untuk bergerak melalui sepuluh dalam sistem perpuluhan. Oleh itu, nombor terdiri daripada gabungan sifar dan satu, dan gabungan ini dipanggil "sistem nombor binari".

Merekod nombor dalam sistem

Dalam perpuluhan

Dalam binari

Dalam perpuluhan

Dalam binari

Bagaimana untuk menulis nombor perduaan sebagai nombor perpuluhan?

Terdapat perkhidmatan dalam talian yang menukar nombor kepada sistem binari begitu juga sebaliknya, tetapi lebih baik jika anda boleh melakukannya sendiri. Apabila diterjemahkan, sistem binari dilambangkan dengan subskrip 2, contohnya, 101 2. Setiap nombor dalam mana-mana sistem boleh diwakili sebagai jumlah nombor, contohnya: 1428 = 1000 + 400 + 20 + 8 - dalam sistem perpuluhan. Nombor itu juga diwakili dalam binari. Mari ambil nombor sewenang-wenangnya 101 dan pertimbangkan. Ia mempunyai 3 digit, jadi kami menyusun nombor mengikut urutan dengan cara ini: 101 2 =1×2 2 +0×2 1 +1×2 0 =4+1=5 10, di mana indeks 10 menunjukkan sistem perpuluhan.

Bagaimana untuk menulis nombor perdana dalam binari?

Sangat mudah untuk menukar kepada sistem nombor binari dengan membahagikan nombor dengan dua. Ia perlu untuk membahagikan sehingga mungkin untuk menyelesaikannya sepenuhnya. Sebagai contoh, ambil nombor 871. Kami mula membahagikan, pastikan anda menulis bakinya:

871:2=435 (baki 1)

435:2=217 (baki 1)

217:2=108 (baki 1)

Jawapan ditulis mengikut baki yang terhasil dalam arah dari hujung ke permulaan: 871 10 =101100111 2. Anda boleh menyemak ketepatan pengiraan menggunakan terjemahan terbalik yang diterangkan sebelum ini.

Mengapa anda perlu mengetahui peraturan terjemahan?

Sistem nombor binari digunakan dalam kebanyakan disiplin yang berkaitan dengan elektronik mikropemproses, pengekodan, penghantaran dan penyulitan data, dalam pelbagai arah pengaturcaraan. Pengetahuan tentang asas terjemahan dari mana-mana sistem kepada binari akan membantu pengaturcara membangunkan pelbagai litar mikro dan mengawal operasi pemproses dan sistem lain yang serupa secara pemrograman. Sistem nombor binari juga diperlukan untuk melaksanakan kaedah untuk menghantar paket data melalui saluran yang disulitkan dan mencipta projek perisian pelayan pelanggan berdasarkannya. Dalam kursus sains komputer sekolah, asas menukar kepada sistem binari dan sebaliknya adalah bahan asas untuk mempelajari pengaturcaraan pada masa hadapan dan mencipta program mudah.

Menukar nombor dari satu sistem nombor kepada yang lain adalah bahagian penting dalam aritmetik mesin. Mari kita pertimbangkan peraturan asas terjemahan.

1. Untuk terjemahan nombor binari dalam perpuluhan adalah perlu untuk menulisnya dalam bentuk polinomial, yang terdiri daripada hasil darab digit nombor dan kuasa 2 yang sepadan, dan mengiranya mengikut peraturan aritmetik perpuluhan:

Apabila menterjemah, adalah mudah untuk menggunakan jadual kuasa dua:

Jadual 4. Kuasa nombor 2

n (darjah)

Contoh.

2. Untuk menukar nombor perlapanan kepada satu perpuluhan, adalah perlu untuk menuliskannya sebagai polinomial yang terdiri daripada hasil darab digit nombor dan kuasa sepadan nombor 8, dan mengiranya mengikut peraturan perpuluhan aritmetik:

Apabila menterjemah, adalah mudah untuk menggunakan jadual kuasa lapan:

Jadual 5. Kuasa nombor 8

n (darjah)

Contoh. Tukar nombor kepada sistem nombor perpuluhan.

3. Untuk menukar nombor perenambelasan kepada satu perpuluhan, adalah perlu untuk menulisnya dalam bentuk polinomial, yang terdiri daripada hasil darab digit nombor dan kuasa sepadan nombor 16, dan mengiranya mengikut peraturan aritmetik perpuluhan:

Apabila menterjemah, ia adalah mudah untuk digunakan semburan kuasa nombor 16:

Jadual 6. Kuasa nombor 16

n (darjah)

Contoh. Tukar nombor kepada sistem nombor perpuluhan.

4. Untuk menukar nombor perpuluhan kepada sistem perduaan, ia mesti dibahagikan secara berurutan dengan 2 sehingga baki kurang daripada atau sama dengan 1 kekal Satu nombor dalam sistem perduaan ditulis sebagai urutan hasil pembahagian terakhir dan baki daripada pembahagian dalam susunan terbalik.

Contoh. Tukar nombor kepada sistem nombor binari.

5. Untuk menukar nombor perpuluhan kepada sistem oktal ia mesti dibahagi berturut-turut dengan 8 sehingga tinggal baki kurang daripada atau sama dengan 7. Nombor dalam sistem perlapanan ditulis sebagai urutan digit hasil bahagi terakhir dan baki bahagian dalam susunan songsang.

Contoh. Tukar nombor kepada sistem nombor perlapanan.

6. Untuk menukar nombor perpuluhan kepada sistem heksadesimal ia mesti dibahagikan berturut-turut dengan 16 sehingga tinggal baki kurang daripada atau sama dengan 15. Nombor dalam perenambelasan ditulis sebagai urutan digit hasil bahagi terakhir dan baki bahagian dalam susunan songsang.

Contoh. Tukar nombor kepada sistem nombor perenambelasan.

Operasi aritmetik dalam sistem nombor kedudukan dilakukan menggunakan algoritma tunggal. Oleh itu, penambahan nombor binari berlaku mengikut algoritma "lajur" klasik dengan pemindahan nombor yang merupakan gandaan dua demi satu ke digit seterusnya.

Mari kita pertimbangkan algoritma ini menggunakan contoh dua nombor binari 1010101 2 dan 110111 2:

Hasil penambahan kelihatan seperti 10001100 2. Mari kita semak hasil penambahan dengan menukar semua nombor kepada sistem nombor perpuluhan:

1010101 2 =85 10 , 110111 2 =55 10 , 10001100 2 =140 10 , 85 10 +55 10 =140 10 .

Sistem binari, yang merupakan asas aritmetik komputer, adalah sangat rumit dan menyusahkan untuk kegunaan manusia. Oleh itu, pengaturcara menggunakan dua gandaan sistem nombor binari: perlapanan dan perenambelasan. Dalam kes heksadesimal, angka Arab tiada dan enam huruf besar pertama digunakan sebagai nombor abjad Latin. Contoh penulisan nombor asli dari 1 hingga 16 dalam empat sistem nombor diletakkan di Jadual 2.

Jadual 2. Contoh penulisan nombor asli dari 1 hingga 16

dalam empat sistem nombor

daripada Jadual 2 Dapat dilihat bahawa dalam sistem binari, rakaman nombor lapan kedua (dari 8 hingga 15) berbeza daripada rakaman lapan pertama (dari 0 hingga 7) dengan kehadiran unit di keempat (kanan). ) digit. Algoritma untuk menukar nombor binari kepada nombor oktal "oleh triad" adalah berdasarkan ini. Untuk menggunakan algoritma ini, anda perlu memecahkan nombor perduaan kepada tiga kali ganda digit (mengira dari kanan) dan menulis digit perlapanan dan bukannya setiap tiga kali ganda:

10101101 2 → 10 101 101 → 255 8 .

Tiga kali ganda paling kiri mungkin tidak lengkap (seperti dalam contoh);

Mari pastikan algoritma adalah betul:

10101101 2 → 1*2 7 +1*2 5 +1*2 3 +2*2 1 +1*2 0 =173 10 ;

255 8 →2*2 6 +5*2 3 +5*2 0 =173 10 .

Untuk menukar nombor daripada sistem perlapanan kepada perduaan, algoritma terbalik digunakan: digit perlapanan digantikan dengan tiga kali ganda digit binari(jika perlu, sifar yang hilang ditambah ke kiri):

325 8 → 3 2 5 → 11 010 101 → 11010101 2 .

Untuk menukar nombor daripada binari kepada perenambelasan, algoritma "oleh tetrad" digunakan. Rentetan digit perduaan dibahagikan kepada empat kali ganda dan digit heksadesimal sebaliknya ditulis:

10101101 2 → 1010 1101 → AD 16.

Algoritma songsang berfungsi sama: bukannya digit heksadesimal, digit perduaan empat kali ganda digantikan.

Lebih mudah untuk menukar daripada perlapanan kepada perenambelasan dan kembali menggunakan sistem binari:

D5 16 → D 5 →1101 0101 → 11010101 2 → 11 010 101 → 325 8 .

Apabila melaksanakan tugas untuk menambah nombor daripada sistem nombor yang berbeza, mereka perlu ditukar kepada satu sistem nombor. Adalah lebih baik untuk menggunakan sistem di mana hasilnya harus dibentangkan.

Tugasan 14. (Task A6 versi demo 2004)

Kira nilai hasil tambah dalam tatatanda perpuluhan:

10 2 +10 8 +10 16 = ? 10

Penyelesaian.

Mari tukar semua nombor kepada tatatanda perpuluhan:

10 2 +10 8 +10 16 = (1*2 1 +0*2 0) + (1*8 1 +0*8 0) + (1*16 1 +0*16 0) = 2+8+16=26 10 .

Jawab: 26.

Tugasan 15.

Cari hasil tambah x+y jika x=1110101 2 , y=1011011 2 . Nyatakan jawapan anda dalam tatatanda perlapanan.

Penyelesaian.

Mari cari jumlahnya: 1110101 2 + 1011011 2:

1110101 2 + 1011011 2 = 11010000 2

Mari kita tukar nombor yang terhasil daripada sistem nombor binari kepada perlapanan:

11 010 000 → 320 8 .

Jawab: 320.

Tugasan 16.(Tugas B1 demo 2004)

Dalam sistem nombor dengan beberapa asas, nombor 12 ditulis sebagai 110. Cari asas ini.

Penyelesaian.

Mari kita nyatakan asas yang diperlukan oleh n. Berdasarkan peraturan untuk menulis nombor dalam tatatanda kedudukan 110 n =n 2 +n 1 +0. Mari kita buat persamaan: n 2 +n=12, cari punca: n 1 =-4, n 2 =3. Punca n 1 = -4 tidak sesuai, kerana asas sistem nombor, mengikut definisi, ialah nombor asli yang lebih besar daripada satu. Mari kita periksa sama ada akar n=3 sesuai:

110 3 =1*3 2 +1*3 1 +0=9+3=12 10

Jawab: 3.

Senaman17 .

Dalam kelas 1111 ada 2 perempuan dan 1100 2 lelaki. Berapakah bilangan pelajar dalam kelas itu?

Penyelesaian.

1111 2 =1*2 3 +1*2 2 +1*2 1 +1*2 0 →8+4+2+1=15 10 .

1100 2 =1*2 3 +1*2 2 +0*2 1 +0*2 0 →8+4=12 10

15 10 +12 10 =27 10

Jawab: Terdapat 27 orang pelajar dalam kelas tersebut.

Senaman18 .

Terdapat 100 pokok buah-buahan di taman itu, di mana 33 pokok epal, 22 pokok pear, 16 buah plum dan 5 buah ceri. Dalam sistem nombor apakah pokok dikira?

Penyelesaian.

100 x = 33 x + 22 x + 16 x + 5 x

1*x 2 =3*x 1 +3*x 0 +2*x 1 +2*x 0 + 1*x 1 +6*x 0 +5*x 0

x 2 =3x+3+2x+2+ 1x+6+5

D=b 2 -4ac=36+4*16=36+64=100

x 1.2 =
= (6±10)/2

x 1 = - 2 – tidak memenuhi maksud masalah,

x 2 = 8 – asas sistem nombor yang dikehendaki.

Jawab: pokok dikira dalam sistem nombor perlapanan.

Senaman19 .

Dipisahkan dengan koma, dalam tertib menaik, menunjukkan semua asas sistem nombor di mana nombor 17 berakhir dengan 2.

Penyelesaian.

Digit terakhir dalam nombor ialah baki apabila nombor itu dibahagikan dengan asas sistem nombor. Oleh kerana 17-2=15, maka asas yang diperlukan bagi sistem nombor akan menjadi pembahagi 15, ini adalah: 3, 5, 15.

Mari kita semak jawapan kita dengan mewakili nombor 17 dalam sistem nombor yang sepadan:

1. Pengiraan ordinal dalam pelbagai sistem nombor.

DALAM kehidupan moden kami guna sistem kedudukan tatatanda, iaitu sistem di mana nombor yang dilambangkan dengan digit bergantung pada kedudukan digit dalam tatatanda nombor itu. Oleh itu, pada masa akan datang kita hanya akan bercakap tentang mereka, meninggalkan istilah "kedudukan".

Untuk mengetahui cara menukar nombor daripada satu sistem kepada sistem yang lain, kita akan memahami bagaimana perekodan nombor berurutan berlaku menggunakan contoh sistem perpuluhan.

Oleh kerana kita mempunyai sistem nombor perpuluhan, kita mempunyai 10 simbol (digit) untuk membina nombor. Kami mula mengira: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Nombor sudah berakhir. Kami meningkatkan kedalaman bit nombor dan menetapkan semula digit tertib rendah: 10. Kemudian kami menambah digit tertib rendah sekali lagi sehingga semua digit hilang: 11, 12, 13, 14, 15, 16, 17, 18, 19. Kami menambah digit tertib tinggi sebanyak 1 dan menetapkan semula digit tertib rendah: 20. Apabila kami menggunakan semua digit untuk kedua-dua digit (kami mendapat nombor 99), kami sekali lagi meningkatkan kapasiti digit nombor dan menetapkan semula digit sedia ada: 100. Dan seterusnya.

Mari cuba lakukan perkara yang sama dalam sistem ke-2, ke-3 dan ke-5 (kami memperkenalkan notasi untuk sistem ke-2, untuk ke-3, dsb.):

0 0 0 0
1 1 1 1
2 10 2 2
3 11 10 3
4 100 11 4
5 101 12 10
6 110 20 11
7 111 21 12
8 1000 22 13
9 1001 100 14
10 1010 101 20
11 1011 102 21
12 1100 110 22
13 1101 111 23
14 1110 112 24
15 1111 120 30

Jika sistem nombor mempunyai asas lebih daripada 10, maka kita perlu memasukkan aksara tambahan; Sebagai contoh, untuk sistem perpuluhan, sebagai tambahan kepada sepuluh digit, kita memerlukan dua huruf ( dan ):

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10
11
12 10
13 11
14 12
15 13

2. Penukaran daripada sistem nombor perpuluhan kepada yang lain.

Untuk menterjemah integer positif nombor perpuluhan ke dalam sistem nombor dengan asas yang berbeza, anda perlu membahagikan nombor ini dengan asas. Bahagikan hasil bahagi yang terhasil dengan asas sekali lagi, dan seterusnya sehingga hasil bahagi kurang daripada asas. Hasilnya, tuliskan dalam satu baris hasil bagi terakhir dan semua baki, bermula dari yang terakhir.

Contoh 1. Mari tukar nombor perpuluhan 46 kepada sistem nombor binari.

Contoh 2. Mari kita tukar nombor perpuluhan 672 kepada sistem nombor perlapanan.

Contoh 3. Mari kita tukar nombor perpuluhan 934 kepada sistem nombor perenambelasan.

3. Penukaran daripada sebarang sistem nombor kepada perpuluhan.

Untuk mengetahui cara menukar nombor daripada mana-mana sistem lain kepada perpuluhan, mari analisa tatatanda biasa bagi nombor perpuluhan.
Sebagai contoh, nombor perpuluhan 325 ialah 5 unit, 2 puluh dan 3 ratus, i.e.

Keadaannya betul-betul sama dalam sistem nombor lain, cuma kita akan mendarab bukan dengan 10, 100, dsb., tetapi dengan kuasa asas sistem nombor. Sebagai contoh, mari kita ambil nombor 1201 in sistem ternary Hisab. Mari kita nomborkan digit dari kanan ke kiri bermula dari sifar dan bayangkan nombor kita sebagai hasil tambah satu digit dan tiga kepada kuasa digit nombor itu:

Ini ialah notasi perpuluhan nombor kami, i.e.

Contoh 4. Mari tukar kepada sistem nombor perpuluhan nombor perlapanan 511.

Contoh 5. Mari tukar kepada sistem nombor perpuluhan nombor heksadesimal 1151.

4. Penukaran daripada sistem binari kepada sistem dengan asas "kuasa dua" (4, 8, 16, dsb.).

Untuk menukar nombor binari kepada nombor dengan asas "kuasa dua", adalah perlu untuk membahagikan urutan binari kepada kumpulan mengikut bilangan digit yang sama dengan kuasa dari kanan ke kiri dan menggantikan setiap kumpulan dengan digit yang sepadan sistem baru Hisab.

Sebagai contoh, Mari tukar nombor perduaan 1100001111010110 kepada sistem perlapanan. Untuk melakukan ini, kami akan membahagikannya kepada kumpulan 3 aksara bermula dari kanan (sejak ), dan kemudian gunakan jadual surat-menyurat dan menggantikan setiap kumpulan dengan nombor baharu:

Kami belajar cara membina jadual surat-menyurat dalam langkah 1.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7

Itu.

Contoh 6. Mari tukar nombor perduaan 1100001111010110 kepada perenambelasan.

0 0
1 1
10 2
11 3
100 4
101 5
110 6
111 7
1000 8
1001 9
1010 A
1011 B
1100 C
1101 D
1110 E
1111 F

5. Penukaran daripada sistem dengan asas "kuasa dua" (4, 8, 16, dsb.) kepada binari.

Terjemahan ini serupa dengan yang sebelumnya, dibuat dalam sisi terbalik: Kami menggantikan setiap digit dengan sekumpulan digit binari daripada jadual carian.

Contoh 7. Mari kita tukar nombor perenambelasan C3A6 kepada sistem nombor perduaan.

Untuk melakukan ini, gantikan setiap digit nombor dengan kumpulan 4 digit (sejak ) daripada jadual surat-menyurat, tambahkan kumpulan dengan sifar pada permulaan jika perlu: