Sistem nombor: soalan latihan dengan penyelesaian langkah demi langkah
Soalan latihan Sistem nombor percuma dengan rajah, petunjuk dan penyelesaian lengkap. Nilai baharu setiap kali, pada tiga tahap: perduaan dan heks kepada perpuluhan, pelengkap dua, bit, julat dan memori.
Soalan latihan percumaMudah
Tetapkan bit supaya daftar 8-bit memegang 0x99. Apakah nilai corak N dalam perpuluhan?
0x99
Klik bit untuk menukarnya antara 0 dan 1. Kotak menunjukkan corak anda sebagai nombor tanpa tanda, dan anda juga boleh menaipnya. Jawapan tepat: nombor bulat, tanpa pembundaran.
Dalam kehidupan harian anda mengira dalam perpuluhan, asas 10. Ia mempunyai sepuluh digit, 0 hingga 9, dan setiap tempat bernilai sepuluh kali tempat di sebelah kanannya.
Dalam 352, 3 bernilai 300, 5 bernilai 50 dan 2 bernilai 2. Tempat-tempatnya bernilai 1, 10, 100 dari kanan.
352 = 3 · 100 + 5 · 10 + 2 · 1
Komputer menyimpan segala-galanya sebagai suis yang hidup atau mati. Maka ia mengira dalam perduaan, asas 2, dengan hanya digit 0 dan 1.
Satu digit perduaan ialah satu bit. Satu kumpulan 8 bit ialah satu bait.
Petuanya sama dalam setiap asas: setiap digit bernilai nilainya darab kuasa asas.
Semakan kendiri Dalam nombor perpuluhan 4721, berapakah nilai 7?
7000
700
70
7
Jawapan: 700. Dikira dari kanan, tempat-tempatnya bernilai 1, 10, 100 dan 1000. 7 berada pada tempat ketiga, maka ia bernilai 7 · 100 = 700.
2Perduaan dan perenambelasan
Dalam perduaan tempat-tempatnya bernilai 1, 2, 4, 8, 16 dan seterusnya, dari kanan. Setiap tempat bernilai dua kali tempat di sebelah kanannya.
Bagi nombor 8 bit tempat-tempatnya bernilai 128, 64, 32, 16, 8, 4, 2 dan 1.
Untuk membaca nombor perduaan, tambah nilai tempat bagi setiap bit yang bernilai 1. Bagi 0011 0010 itu ialah 32 + 16 + 2 = 50.
Baris bit yang panjang sukar dibaca. Pengaturcara selalunya menulisnya dalam perenambelasan (heks), asas 16, sebagai ganti.
Heks memerlukan 16 digit. Ia menggunakan 0 hingga 9 dan kemudian huruf A = 10, B = 11, C = 12, D = 13, E = 14 dan F = 15.
Tempat heks bernilai 1, 16, 256 dan 4096, dari kanan. Nombor heks sering ditulis dengan 0x di hadapan, contohnya 0x2F.
Satu digit heks tepat 4 bit, maka 0011 0010 ialah 0x32: 0011 ialah 3 dan 0010 ialah 2.
Semakan kendiri Apakah 0x1A dalam perpuluhan?
110
11
161
26
Jawapan: 26. A = 10. Tempat-tempatnya ialah 16 dan 1, maka 1 · 16 + 10 · 1 = 26. Menulis digit bersebelahan (110) atau menambahnya (11) mengabaikan nilai tempat. 161 menggunakan tempat dalam susunan yang salah.
3Nombor negatif: pelengkap dua
Satu bait dengan semua tempat positif menyimpan 0 hingga 255. Ini dipanggil tak bertanda.
Untuk menyimpan nombor negatif, komputer menggunakan pelengkap dua. Satu-satunya perubahan ialah bit paling kiri bernilai −128 dan bukan +128.
Maka 1000 0011 ialah −128 + 2 + 1 = −125. Bit paling kiri dipanggil bit tanda: apabila ia 1, nombor itu negatif.
Nombor pelengkap dua 8 bit bermula dari −128 (1000 0000) hingga +127 (0111 1111).
Untuk menulis nombor negatif −x, mulakan daripada +x dalam perduaan, songsangkan setiap bit (0 menjadi 1, 1 menjadi 0) dan tambah 1.
Contoh untuk −5: 5 ialah 0000 0101. Disongsangkan ia 1111 1010. Menambah 1 memberikan 1111 1011.
Corak yang sama dibaca sebagai tak bertanda bernilai 256 − x. Bagi −5 itu ialah 251, dan 1111 1011 memang 128 + 64 + 32 + 16 + 8 + 2 + 1 = 251.
Semakan kendiri Corak 8 bit 1111 1111 menyimpan nombor pelengkap dua. Apakah nilainya?
255
−127
−128
−1
Jawapan: −1. −128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = −1. 255 ialah bacaan tak bertanda. −127 datang daripada menganggap bit pertama sebagai tanda tolak di hadapan 111 1111.
4Kaedah langkah demi langkah
Perduaan atau heks kepada perpuluhan:
Tulis nilai tempat di bawah setiap digit: kuasa 2 bagi perduaan, kuasa 16 bagi heks, bermula dengan 1 di sebelah kanan.
Dalam heks, gantikan setiap huruf dengan nilainya: A = 10 hingga F = 15.
Darabkan setiap digit dengan nilai tempatnya dan tambah semuanya.
Pelengkap dua:
Untuk membaca satu corak, beri bit paling kiri nilai −128 (dalam 8 bit) dan tambah nilai tempat semua bit-1.
Untuk menulis −x, tulis +x dalam 8 bit, songsangkan setiap bit dan tambah 1.
Nilai tak bertanda corak itu ialah 256 − x. Gunakannya untuk menyemak bit anda.
Bit, julat dan memori:
n bit memberikan 2ⁿ corak berbeza.
Tak bertanda ia menyimpan 0 hingga 2ⁿ − 1. Dalam pelengkap dua ia menyimpan −2ⁿ⁻¹ hingga 2ⁿ⁻¹ − 1.
Untuk memberi k item kod masing-masing, cari b terkecil dengan 2b ≥ k.
Untuk memori, darabkan bilangan item dengan bit setiap item, kemudian bahagikan dengan 8 untuk bait dan dengan 1024 untuk KiB.
M = lebar × tinggi × bit setiap piksel / 8 / 1024 (KiB)
5Contoh terselesai
Ikuti setiap langkah. Cuba ramalkan langkah seterusnya sebelum anda membukanya.
Contoh terselesai
Corak 8 bit 1011 0110 menyimpan integer bertanda dalam pelengkap dua. Apakah nilainya N dalam perpuluhan?
1
Tulis nilai tempat
Dalam pelengkap dua tempat paling kiri bernilai −128. Tempat-tempat lain ialah 64, 32, 16, 8, 4, 2 dan 1.
2
Lihat bit tanda
Bit paling kiri ialah 1, maka nombor itu negatif.
3
Tambah bit-bit 1
Bit-bit 1 berada pada tempat −128, 32, 16, 4 dan 2.
N = −128 + 32 + 16 + 4 + 2 = −74
4
Semak dengan nilai tak bertanda
Dibaca sebagai tak bertanda, corak itu ialah 128 + 32 + 16 + 4 + 2 = 182.
Bagi nombor negatif nilai tak bertanda ialah 256 − x, maka x = 256 − 182 = 74. Itu memberikan N = −74 sekali lagi.
5
Semak dengan menyongsangkan
Songsangkan 1011 0110 untuk mendapat 0100 1001, kemudian tambah 1 untuk mendapat 0100 1010.
0100 1010 ialah 64 + 8 + 2 = 74. Maka corak asal ialah −74.
Jawapan
N = −74
6Kesilapan lazim
Terlupa menambah 1 selepas menyongsangkan bit. Anda mendapat nilai yang terlalu rendah sebanyak satu.
Membaca corak pelengkap dua sebagai tak bertanda, contohnya 1111 1111 sebagai 255 dan bukan −1.
Menganggap bit tanda sebagai tanda tolak di hadapan bit lain. Dalam pelengkap dua ia bernilai −128.
Memberikan tempat dalam susunan yang salah. Tempat yang bernilai 1 sentiasa di sebelah kanan.
Menggunakan A = 11 dalam heks. Huruf bermula dengan A = 10.
Mencampurkan bit dan bait dalam soalan memori. Bahagikan bilangan bit dengan 8.
Semakan kendiri Apakah −5 sebagai corak pelengkap dua 8 bit?
0000 0101
1000 0101
1111 1010
1111 1011
Jawapan: 1111 1011. 5 ialah 0000 0101. Menyongsangkan memberikan 1111 1010, dan menambah 1 memberikan 1111 1011. 1111 1010 terlupa menambah 1, dan 1000 0101 meletakkan tanda tolak di hadapan 5.
7Rupa soalan peperiksaan
Mudah: perduaan dan heks kepada perpuluhan. Tukar nombor perduaan 8 bit atau nombor heks 3 digit kepada perpuluhan.
Sederhana: pelengkap dua. Baca nilai bagi corak 8-bit bertanda, atau tulis nombor negatif sebagai corak dan beri nilai tak bertandanya.
Sukar: bit, julat dan memori. Nilai terbesar atau paling negatif yang muat dalam n bit, bilangan bit yang diperlukan untuk k kod, atau memori yang digunakan oleh sebuah imej.
Contoh soalan sukar: imej 256 × 256 dengan 24 bit setiap piksel memerlukan 256 · 256 · 24 / 8 / 1024 = 192 KiB.
Semakan kendiri Berapakah bilangan bit terkecil yang memberi setiap satu daripada 375 item kodnya sendiri?
188
512
8
9
Jawapan: 9. 2⁸ = 256 terlalu sedikit kod, 2⁹ = 512 mencukupi, maka 9 bit. 512 ialah bilangan kod, bukan bilangan bit.
Tukar nombor heksadesimal 0x2BE kepada perpuluhan. Cari N.
0x2BEA = 10 … F = 15
Cari nilai N
Tunjukkan petunjuk
Kedudukan heks bernilai 1, 16, 256, 4096 dari kanan.
Gantikan huruf dengan nilainya (A = 10 … F = 15), darab dengan nilai kedudukan dan tambah.
2 = 2, B = 11, E = 14.
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Sistem nombor kedudukan: setiap digit bernilai nilainya didarab kuasa asas. Dalam perduaan, kedudukan bernilai 1, 2, 4, 8, 16, …; dalam heksadesimal 1, 16, 256, …, dengan A–F mewakili 10–15. Dalam pelengkap dua 8-bit, bit paling kiri bernilai −128 dan bukannya +128, begitulah nombor negatif disimpan.
Darab setiap digit dengan nilai kedudukannya
2·256 + 11·16 + 14·1 = 702
Jawapan
0x2BE = 702
Contoh 2Sederhana
Tetapkan bit supaya ia menyimpan −45 dalam pelengkap dua 8-bit. Dibaca sebagai nombor tanpa tanda, apakah nilai corak U?
N = −458 bit
Cari nilai U
Tunjukkan petunjuk
Tulis 45 dalam perduaan, songsangkan setiap bit, kemudian tambah 1.
45 = 0010 1101₂.
Sebagai nombor tanpa tanda, corak itu sama dengan 256 + N.
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Menetapkan bit: setiap bit bernilai kuasa dua (128, 64, …, 1). Satu digit heks tepat empat bit, dan dalam pelengkap dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap kedudukan bit secara berasingan.
Songsang dan tambah satu
45 = 0010 1101
disongsangkan: 1101 0010
+1 → 1101 0011
Baca sebagai tanpa tanda
1101 0011₂ = 256 − 45 = 211
Jawapan
U = 211
Contoh 3Sukar
Tetapkan bit kepada hasil 8-bit bagi 0111 0001 >> 3. Apakah nilai hasil R dalam perpuluhan?
0111 0001>> 3
Cari nilai R
Tunjukkan petunjuk
Anjak ke kanan sebanyak 3 menggerakkan setiap bit 3 tempat ke kanan; bit yang jatuh dari hujung kanan hilang dan sifar masuk di sebelah kiri.
Kerjakan satu kedudukan bit pada satu masa, dari kiri ke kanan.
Empat bit pertama hasil ialah 0000.
Tunjukkan jawapan dan penyelesaian langkah demi langkah
Menetapkan bit: setiap bit bernilai kuasa dua (128, 64, …, 1). Satu digit heks tepat empat bit, dan dalam pelengkap dua 8-bit bit paling kiri bernilai −128. Operasi bitwise bekerja pada setiap kedudukan bit secara berasingan.
Bit demi bit
Anjak ke kanan sebanyak 3 menggerakkan setiap bit 3 tempat ke kanan; bit yang jatuh dari hujung kanan hilang dan sifar masuk di sebelah kiri.
0111 0001 >> 3
= 0000 1110
Nilai hasil
0000 1110₂ = 14
Jawapan
R = 14
Soalan dan jawapan
Apakah Sistem nombor?
Dalam kehidupan harian anda mengira dalam perpuluhan, asas 10. Ia mempunyai sepuluh digit, 0 hingga 9, dan setiap tempat bernilai sepuluh kali tempat di sebelah kanannya.
Dalam 352, 3 bernilai 300, 5 bernilai 50 dan 2 bernilai 2. Tempat-tempatnya bernilai 1, 10, 100 dari kanan.
Bagaimanakah saya menyelesaikan soalan Sistem nombor langkah demi langkah?
Sistem nombor kedudukan: setiap digit bernilai nilainya didarab kuasa asas. Dalam perduaan, kedudukan bernilai 1, 2, 4, 8, 16, …; dalam heksadesimal 1, 16, 256, …, dengan A–F mewakili 10–15. Dalam pelengkap dua 8-bit, bit paling kiri bernilai −128 dan bukannya +128, begitulah nombor negatif disimpan.
Apakah yang diliputi oleh latihan Sistem nombor?
Mudah: perduaan dan heks kepada perpuluhan
Sederhana: pelengkap dua
Sukar: bit, julat dan memori
Setiap soalan mempunyai nilai baharu, jadi anda mempelajari kaedah dan bukannya jawapan. Buntu? Buka petunjuk kecil dahulu, dan penerangan penuh hanya apabila anda memerlukannya.
Cara latihan berfungsi
Setiap soalan mempunyai nilai baharu, jadi anda mempelajari kaedah dan bukannya jawapan.
Buntu? Buka petunjuk kecil dahulu, dan penerangan penuh hanya apabila anda memerlukannya.
Kemajuan, kesilapan dan soalan tersimpan anda dikekalkan, jadi anda boleh menyemak sebelum peperiksaan.