Terus ke kandungan
IGCSE·Tuition
Sains Komputer · Pelajaran

Tambah nilai perduaan dengan kesedaran limpahan

Penambahan perduaan nampak seperti penambahan biasa, sehingga satu lajur mengandungi tiga digit satu dan nombor bawa hilang.

Dalam halaman ini
  1. Apakah peraturan penambahan?
  2. Contoh berlangkah tanpa limpahan
  3. Contoh berlangkah dengan limpahan
  4. Kesilapan yang perlu diawasi
  5. Semak diri anda
  6. Langkah seterusnya

Untuk menambah nombor perduaan (binary), tambah lajur demi lajur dari kanan, tulis satu digit dan bawa apabila lajur mencapai 2 atau lebih. Jika nombor bawa keluar dari lajur paling kiri bagi nombor bersaiz tetap, hasil telah melimpah (overflow): ia memerlukan lebih bit daripada yang ada.

Pelajaran ini menggunakan nilai tempat perduaan yang sudah anda tahu dan berkait dengan kedalaman bit, yang menerangkan mengapa bilangan bit tetap ada had.

Apakah peraturan penambahan?

Jumlah lajurTulisBawa
000
110
2 (1 + 1)01
3 (1 + 1 + bawa 1)11

Setiap lajur menambah dua bit dan nombor bawa dari lajur di sebelah kanan. Nombor bawa ialah satu perkara yang paling mudah dilupakan, jadi tulis ia dalam baris kecil di atas nombor.

Contoh berlangkah tanpa limpahan

Tambah 01101011 dan 00111001 (8 bit).

Pertama, tukar supaya anda boleh menyemak kemudian: 01101011 = 64 + 32 + 8 + 2 + 1 = 107, dan 00111001 = 32 + 16 + 8 + 1 = 57. Jumlah dijangka: 164.

Sekarang tambah dari kanan (lajur 0 ialah yang paling kanan):

Lajur76543210
Bawa masuk11110110
Nombor pertama01101011
Nombor kedua00111001
Hasil10100100

Lajur 0: 1 + 1 = 10, tulis 0 bawa 1. Lajur 1: 1 + 0 + 1 = 10, tulis 0 bawa 1. Lajur 2: 0 + 0 + 1 = 1.

Lajur 3: 1 + 1 = 10, tulis 0 bawa 1. Lajur 4: 0 + 1 + 1 = 10, tulis 0 bawa 1. Lajur 5: 1 + 1 + 1 = 11, tulis 1 bawa 1.

Lajur 6: 1 + 0 + 1 = 10, tulis 0 bawa 1. Lajur 7: 0 + 0 + 1 = 1, tiada bawa keluar.

Hasilnya 10100100. Semak: 128 + 32 + 4 = 164. Ia sepadan, dan tiada nombor bawa keluar dari lajur 7, jadi tiada limpahan.

Contoh berlangkah dengan limpahan

Tambah 11001000 dan 01000110 (8 bit). Dalam denari ia ialah 200 + 70 = 270, melebihi 255, jadi limpahan dijangka.

Lajur76543210
Bawa masuk10000000
Nombor pertama11001000
Nombor kedua01000110
Hasil00001110

Lajur 6: 1 + 1 = 10, tulis 0 bawa 1. Lajur 7: 1 + 0 + 1 = 10, tulis 0 dan bawa 1 keluar dari lajur paling kiri.

Daftar 8 bit hanya menyimpan 00001110, iaitu 14. Jawapan sebenar memerlukan sembilan bit: 1 00001110 = 256 + 14 = 270. Maka pernyataan yang betul: hasil melimpah kerana 270 terlalu besar untuk 8 bit (maksimum 255), dan nilai tersimpan 14 adalah salah.

Kesilapan yang perlu diawasi

Kesilapan lazim ialah menulis digit tetapi terlupa membawa.

Soalan: Tambah 00000111 dan 00000001.

Kerja yang salah: lajur 0: 1 + 1 = 0, tetapi nombor bawa tidak ditulis, jadi lajur 1 dan 2 disalin ke bawah. Jawapan terbaca 00000110.

Jawapan itu ialah 6, sedangkan 7 + 1 mestilah 8. Pembetulannya ialah menulis baris bawa dahulu dan menandakan setiap nombor bawa apabila digunakan.

Lajur 0 memberi 0 bawa 1, lajur 1 memberi 1 + 0 + 1 = 0 bawa 1, lajur 2 memberi 1 + 0 + 1 = 0 bawa 1, dan lajur 3 memberi 0 + 0 + 1 = 1. Jawapan yang betul ialah 00001000. Jika nilai denari kelihatan salah apabila anda menukar semula, satu nombor bawa telah hilang.

Semak diri anda

1. Tambah 00011011 dan 00000101.

Lihat jawapan

27 + 5 = 32. Lajur demi lajur: nombor bawa bergerak dari lajur 0 ke lajur 4, dan hasilnya 00100000. Semak: 32.

2. Tambah 10000001 dan 10000001. Adakah ia melimpah?

Lihat jawapan

129 + 129 = 258, melebihi 255. Lajur 0: 1 + 1 = 0 bawa 1. Lajur 7: 1 + 1 = 0 bawa 1 keluar. Hasil tersimpan ialah 00000010 dengan nombor bawa keluar, jadi ya, ia melimpah. Nilai 2 yang disimpan salah kerana jawapan sebenar ialah 258.

3. Adakah 180 + 76 melimpah dalam 8 bit?

Lihat jawapan

180 + 76 = 256, iaitu satu lebih daripada maksimum 255. Ya, ia melimpah: 8 bit yang disimpan ialah 00000000.

Langkah seterusnya

Teruskan dengan menerangkan pengekodan aksara dan kemudian kedalaman bit, yang menerangkan had di sebalik limpahan. Latih semuanya dalam set latihan campuran.

Ramai pelajar boleh menambah dengan betul tetapi sukar menerangkan limpahan dengan kata-kata untuk mendapat markah. Guru boleh melatih ayat itu bersama anda dalam tuisyen Computer Science dalam talian secara satu dengan satu.

Soalan lazim

Apakah peraturan menambah digit perduaan?

0 + 0 = 0, 0 + 1 = 1, dan 1 + 1 = 10, bermaksud tulis 0 dan bawa 1. Dengan satu nombor bawa masuk, 1 + 1 + 1 = 11, bermaksud tulis 1 dan bawa 1. Bekerja dari kanan, satu lajur pada satu masa.

Apakah limpahan (overflow)?

Limpahan berlaku apabila hasil penambahan terlalu besar untuk bilangan bit yang ada. Dalam 8 bit nilai terbesar ialah 255, jadi hasil 256 atau lebih memerlukan bit kesembilan yang tidak wujud. Jawapan yang disimpan menjadi salah.

Bagaimanakah saya tahu penambahan 8 bit telah melimpah?

Lihat lajur paling kiri. Jika menambahnya menghasilkan nombor bawa keluar, wujud bit kesembilan dan hasil telah melimpah. Anda juga boleh menyemak dengan menukar kedua-dua nombor kepada denari: jika jumlah melebihi 255, ia melimpah.

Apakah yang dilakukan komputer apabila limpahan berlaku?

Pemproses hanya menyimpan 8 bit yang muat, jadi nilai yang disimpan salah, dan ia boleh menanda limpahan supaya atur cara bertindak balas. Soalan peperiksaan lazimnya meminta anda menyatakan bahawa hasil terlalu besar untuk bit yang ada.

Sumber rujukan

  1. Laman sukatan Cambridge IGCSE Computer Science 0478

Dikemas kini:

Langkah seterusnya

Jika penambahan perduaan anda betul kebanyakan masa tetapi satu nombor bawa sentiasa hilang, guru satu dengan satu boleh memerhati lajur tepat di mana ia berlaku dan membetulkan tabiat di sebaliknya.

Kelas percubaan berbayar satu jam pada kadar guru yang disahkan, bermula RM80. Yuran lain, jadual dan susunan seterusnya disahkan terus bersama guru selepas kelas percubaan.

Tuisyen diatur bersama ibu bapa atau penjaga. Hantar halaman ini kepada mereka melalui WhatsApp supaya mereka boleh bertanya bagi pihak anda.

Ibu bapa atau penjaga? Tanya di sini

9,000+ pelajar telah dibantu melalui perkhidmatan kami