Bài giảng Nhập môn tin học - Chương 5: Sự tính toán trong máy tính

Nội dung 5.1. Tại sao dùng số nhị phân 5.2. Các phép toán nhị phân Các thiết bị điện và điện tử hoạt động theo chế độ mở (1) hoặc tắt (0).  Các mạch điện của máy tính được điều khiển bởi 2 kí số nhị phân (0 và 1) thay cho 10 kí số thập phân (0,1,2,3,4,5,6,7,8,9).  Các việc có thể được thực hiện trong hệ thập phân thì cũng có thể được thực hiện trong hệ nhị phân.

pdf36 trang | Chia sẻ: thuongdt324 | Lượt xem: 1491 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Nhập môn tin học - Chương 5: Sự tính toán trong máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1 SỰ TÍNH TOÁN TRONG MÁY TÍNH COMPUTER ARTHMETIC Chương 5 2 Nội dung 5.1. Tại sao dùng số nhị phân 5.2. Các phép toán nhị phân 3 Tại sao dùng số nhị phân  Các thiết bị điện và điện tử hoạt động theo chế độ mở (1) hoặc tắt (0).  Các mạch điện của máy tính được điều khiển bởi 2 kí số nhị phân (0 và 1) thay cho 10 kí số thập phân (0,1,2,3,4,5,6,7,8,9).  Các việc có thể được thực hiện trong hệ thập phân thì cũng có thể được thực hiện trong hệ nhị phân. 4 Các phép toán nhị phân  Phép cộng  Phép trừ  Phép nhân  Phép chia 5 Phép cộng  Qui tắc 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 cộng thêm 1 vào cột kế tiếp 6 Phép cộng Ví dụ: 7 Phép cộng Ví dụ: Cộng 2 số nhị phân 100111 and 11011 Giải: Binary Decimal Số nhớ 11111 Số nhớ 1 100111 39 +11011 +27 1000010 66 8 Phép cộng Bài Tập  Add the binary numbers 1011 and 101 in both decimal and binary form  Add the binary numbers 1010110 and 1011010.  Add the binary numbers 10111 and 1011. 9 Phép trừ  Qui tắc: 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 0 – 1 = 1 mượn từ cột kế tiếp  Chú ý: hệ thập phân mượn 10; hệ nhị phân mượn 2; hệ bát phân mượn 8; hệ thập lục phân 16. 10 Phép trừ  Ví dụ 1: 101012 – 011102 Giải: 12 0202 10101 - 01110 00111 Mượn  Ví dụ 2: 10111002 - 01110002 Giải: 2 1011100 -0111000 0100100 Mượn 11 Phép trừ Bài tập 7. Subtract 01101112 from 11011102 8. Subtract 010102 from 100002 9. Subtract 0110112 from 1101112 12 Phép trừ bù  Định nghĩa phần bù: Cho 1 số gồm có n kí số, phần bù được xác định bằng hiệu số: ((base)n – 1) - số đó  Ví dụ: Tìm phần bù của 3710 Giải: Số 37 có 2 kí tự và giá trị của cơ số (base) là 10, (Base)n – 1 = 102 – 1 = 99 99 – 37 = 62 Vậy, phần bù của 3710 = 6210 13 Phép trừ bù Bài tập Tìm phần bù của 68 Giải: Số 6 có 1 kí số và giá trị base là 8 (Base)n – 1 = 81-1 81 – 1 = 710 Mà 68 = 610 710 – 610 = 110 = 18 Vậy, phần bù của 68 = 18 14 Phép trừ bù Bài tập Tìm phần bù của 101012 Giải Số 101012 có 5 kí số và giá trị base 2, (Base)n – 1 = 25 – 1 = 3110 Mà 101012 = 2110 3110 – 2110 = 1010 = 010102 Phần bù của 101012 = 010102. 15 Phép trừ bù Các bước thực hiện phép trừ bù:  Bước 1: Tìm phần bù của số trừ.  Bước 2: Cộng số bù với số bị trừ.  Bước 3: Sau khi thực hiện phép cộng ở bước 2 mà có chứa thêm số 1 thì cộng 1 vào được kết quả, ngược lại tìm phần bù của tổng ở bước hai, sau đó gắn thêm dấu trừ vào trước phần bù này. 16 Phép trừ bù Ví dụ: 9210 - 5610 bằng phương pháp trừ bù.  Giải: Bước 1: Tìm phần bù của 5610 = 102 – 1 – 56 = 99 – 56 = 4310 Bước 2: 92 +43 (Phần bù của 56) 135 Bước 3: 1 (cộng thêm 1) Kết quả = 36  92 – 56=36 17 Phép trừ bù Ví dụ: 1810 - 3510 bằng phương pháp trừ bù. Giải Bước 1: Tìm phần bù của 3510 = 102 – 1 – 35 = 99 – 35 = 6410 Bước 2: 18 + 64 (Phần bù của 35) 82 Bước 3: không có dư 1 nên: Kết quả = -(102- 1– 82) = -17  18-35=-17 18 Phép trừ bù Ví dụ: 10111002 (9210) - 01110002 (5610) 1011100 +1000111 (bù của 0111000) 10100011 1 (cộng thêm 1) 0100100 Kết quả = 01001002 = 3610 19 Phép trừ bù Ví dụ: 0100102 (1810) - 1000112 (3510) 010010 +011100 ( bù của 100011) 101110  Không nhớ 1 ở kết quả nên chúng ta tính phần bù của 1011102 và gắn dấu - ở trước phần bù đó. Kết quả = - 0100012 (bù của số 1011102) = - 1710 20 Phép trừ bù Bài tập 10. Subtract 2510 from 5010 using complementary method 11. Subtract 2510 from 2010 using complementary method 12. Subtract 23410 from 58810 using complementary method 13. Subtract 21610 from 17210 using complementary method 14. Subtract 010102 from 100002 using complementary method 15. Subtract 1101112 from 1011102 using complementary method 16. Subtract 0110112 from 1101112 using complementary method 17. Subtract 11112 from 11002 using complementary method 21 Phép nhân Qui tắc: 0 * 0 = 0 0 * 1 = 0 0 * 0 = 0 1 * 1 = 1 22 Phép nhân  Ví dụ: 1010 * 1001. Giải_C1: 1010 *1001 1010 0000 0000 1010 1011010 23 Phép nhân Ví dụ: 1010 * 1001. Giải_C2: kí số 0 xuất hiện ở số nhân thì chỉ cần thực hiện đẩy qua trái. 1010 *1001 1010 1010SS  Left shift 1011010 24 Phương pháp cộng vào của phép nhân  Hầu hết các máy tính thực hiện toán tử nhân chỉ bằng cách thực hiện phép cộng.  Ví dụ sau : 4 * 8 = 8 + 8 + 8 + 8  Để mạch máy tính được thiết kế đơn giản thì chúng ta phải dùng phương pháp này cho phép nhân. 25 Phương pháp cộng vào của phép nhân Bài tập 18. Multiply the binary numbers 1100 and 1010 19. Multiply the binary numbers 01101 and 1001 20. Multiply the binary numbers 101111 and 111 26 Phép chia Qui tắc: 0 / 1 = 0 1 / 1 = 1 27 Phép chia Các bước thực hiện phép chia nhị phân 1. Bắt đầu từ trái sang phải của số bị chia. 2. Lấy một chuỗi số từ số bị chia tương ứng với số ký số của số chia và lấy chuỗi đó trừ cho số chia. 3. Nếu phép trừ thực hiện được thì ghi 1 vào thương . 4. Nếu phép trừ không thực hiện được (số chia lớn hơn chuỗi được xác định ở bước 2), ghi 0 vào thương số. 5. Lấy thêm 1 kí số từ số bị chia vào chuỗi đó và thực hiện tương tự như các bước trên. 28 Phép chia 29 Phép chia Ví dụ: Chia 1000012 cho 1102 Giải: Số chia 0101 (thương số) 110 100001 (số bị chia) 110 1 ( Số chia lớn hơn 100, cho 0 vào thương) 1000 2 (Thêm 1 số 0 ở trên số bị chia xuống nhóm) 110 3 (Thực hiện được phép trừ,cho 1 vào thương) 100 4 (phần dư từ phép trừ và thêm 1 số bị chia) 110 5 (Số chia lớn hơn nên đẩy 0 vào thương) 1001 6 (thêm 1 từ số bị chia ) 110 7 (Thực hiện được phép trừ,cho 1 vào thương) 11 (Số dư) Kết quả có thể viết cách khác như : 3310 (1000012) / 610 (1102), được thương là 510 (1012), số dư là 310 (112). 30 Phương pháp cộng vào của phép chia  Máy tính thực hiện phép chia chủ yếu bằng phương pháp phép trừ bù.  Phép trừ được thực hiện lặp đi lặp lại giữa số chia và kết quả thu được từng bước cho đến khi kết quả thu được nhỏ hơn hoặc bằng 0.  Tổng số lần thực hiện phép trừ là thương số của phép chia đó.  Nếu kết quả của phép trừ bằng 0 thì phép chia không có số dư.  Nếu phép trừ cuối cùng có kết quả nhỏ hơn 0 thì kết quả của phép trừ trước phép trừ cuối cùng là phần dư của phép chia và thương số bằng tổng sô lần thực hiện phép trừ trừ đi 1 31 Phương pháp cộng vào của phép chia  Ví dụ : 35 / 5 35 – 5 = 30 30 – 5 = 25 25 – 5 = 20 20 – 5 = 15 15 – 5 = 10 10 – 5 = 5 5 – 5 = 0  Phép trừ thực hiện 7 lần nên được kết quả là 7. 32 Phương pháp cộng vào của phép chia Ví dụ 5.17:  Lấy số 3310 chia cho 610  Giải: 33 – 6 = 27 (1) 27 – 6 = 21 (2) 21 – 6 = 15 (3) 15 – 6 = 9 (4) 9 – 6 = 3 (5) 3 – 6 = -3 (6)  Tổng số lần thực hiện phép trừ = 6. Mà kết quả của phép trừ cuối cùng nhỏ hơn 0  Thương = 6 – 1 (bỏ đi phép trừ cuối cùng) = 5  Số dư = 3 (Kết quả của phép trừ (5))  Kết quả, 33 / 6 = 5 dư 3. 33 Phương pháp cộng vào của phép chia Bài tập 21. Divide 110012 by 1012 21. Divide 01101112 by 01112 34 Câu hỏi và bài tập 1. Tại sao các máy tính đều được thiết kế sử dụng hệ thống nhị phân? 2. Cộng 2 số nhị phân 1011 và 101 cả hình thức nhị phân và thập phân. 3. Cộng 2 số nhị phân 1010110 và 1011010. 4. Cộng 2 số nhị phân 10111 và 1011. 5. Tìm phần bù của các số đã cho: (a) 49510 (d) C16 (b) 2910 (e) 25 (c) 48 (f) 324 35 Câu hỏi và bài tập 6. Tìm phần bù của các số nhị phân đã cho: (a) 10 (d) 011011 (b) 101 (e) 10110001 (c) 101101 (f) 001101001110 7. Tính 11011102 - 01101112 8. Tính 100002 - 010102 9. Tính 1101112 - 0110112 10. Tính 5010 - 2510 sử dụng phương pháp phần bù 11. Tính 2010 - 2510 sử dụng phương pháp phần bù 12. Tính 58810 - 23410 sử dụng phương pháp phần bù 13. Tính 17210 - 21610 sử dụng phương pháp phần bù 14. Tính 10002 - 010102 sử dụng phương pháp phần bù 15. Tính 1011002 - 1101112 sử dụng phương pháp phần bù 16. Tính 1101112 - 0110112 sử dụng phương pháp phần bù 17. Tính 11002 - 11112 sử dụng phương pháp phần bù 36 Câu hỏi và bài tập 18. Chia 2 số nhị phân: 1100 và 1010 19. Chia 2 số nhị phân: 01101 và 1001 20. Chia 2 số nhị phân: 101111 và 111 21. Chia 2 số nhị phân: 110012 và 1012 22. Chia 2 số nhị phân: 01101112 và 01112 23. Giải thích ngắn gọn phép nhân và chia thực hiện như thế nào bên trong mấy tính dùng phép tính cộng gần đúng. 24. Thuận lợi chủ yếu khi thực hiện phép trừ bằng phương pháp phần bù trong máy tính số? 25. Thảo luận những ưu và nhược điểm của việc thực hiện các phép tính số học khác nhau bằng phương thức cộng thêm vào trong máy tính số.