Các phép toán cơ bản trên hệ nhị phân

Các phép toán cơ bản trên hệ nhị phân

Phan Nhật Chánh

Chánh30 tháng 08, 2019

4 min read
·
views
·
likes

Hệ nhị phân (hay hệ đếm cơ số 2) là một hệ đếm chỉ dùng hai ký tự là 0 và 1 để biểu đạt một giá trị số như đã giới thiệu ở phần trước tôi đã chia sẻ cách chuyển đổi hệ thập phân sang nhị phân và ngược lại hệ nhị phân sang thập phân. Trong bài này tôi sẽ trình bày về cách thực hiện một số phép toán cơ bản trên hệ nhị phân như: cộng, trừ, nhân, chia.

Cộng hai số nhị phân

Để cộng hai đơn vị trong hệ nhị phân thực hiện theo nguyến tắc sau:

Qui tắc cộng 2 số nhị phân
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (nhớ 1)
Qui tắc cộng 2 số nhị phân
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 (nhớ 1)

Ví dụ: Cộng hai số 100011121000111_2 và số 11110211110_2

* * * * * (hình * đánh dấu các cột phải nhớ) 1 0 0 0 1 1 1 (71) + 1 1 1 1 0 (30) --------------- = 1 1 0 0 1 0 1 (101)
* * * * * (hình * đánh dấu các cột phải nhớ) 1 0 0 0 1 1 1 (71) + 1 1 1 1 0 (30) --------------- = 1 1 0 0 1 0 1 (101)

Bạn có thể kiểm tra lại kết quả bằng cách đổi 100011121000111_2 và số 11110211110_2 sang số thập phân (Ví dụ sau khi đổi ta được 71+30=10171 + 30 = 101)

Trừ hai số nhị phân

Để trừ 2 số nhị phân, ta thực hiện theo nguyên tắc sau:

Qui tắc trừ 2 số nhị phân
0 − 0 = 0 0 − 1 = 1 (mượn 1) 1 − 0 = 1 1 − 1 = 0
Qui tắc trừ 2 số nhị phân
0 − 0 = 0 0 − 1 = 1 (mượn 1) 1 − 0 = 1 1 − 1 = 0
Ví dụ 1
* * * * (hình * đánh dấu các cột phải mượn) 1 1 0 1 1 1 0 − 1 0 1 1 1 --------------- = 1 0 1 0 1 1 1 ← kết quả
Ví dụ 1
* * * * (hình * đánh dấu các cột phải mượn) 1 1 0 1 1 1 0 − 1 0 1 1 1 --------------- = 1 0 1 0 1 1 1 ← kết quả
Ví dụ 2
1 1 1 1 (bit mượn) 1 1 0 1 1 1 0 - 1 0 1 1 1 --------------- = 1 0 1 0 1 1 1 ← kết quả
Ví dụ 2
1 1 1 1 (bit mượn) 1 1 0 1 1 1 0 - 1 0 1 1 1 --------------- = 1 0 1 0 1 1 1 ← kết quả

Nhân hai số nhị phân

Phép tính nhân trong hệ nhị phân cũng tương tự như phương pháp làm trong hệ thập phân. Hai số AABB được nhân với nhau bởi những tích số cục bộ: với mỗi con số ở BB, tích của nó với số một con số trong AA được tính và viết xuống một hàng mới, mỗi hàng mới phải chuyển dịch vị trí sang bên trái, hầu cho con số cuối cùng ở bên phải đứng cùng cột với vị trí của con số ở trong BB đang dùng. Tổng của các tích cục bộ này cho ta kết quả tích số cuối cùng.

Vì chỉ có hai con số trong hệ nhị phân, nên chỉ có 2 kết quả khả quan trong tích cục bộ:

Nếu con số trong BB00, tích cục bộ sẽ là 00 Nếu con số trong BB11, tích cục bộ sẽ là số ở trong AA. Ví dụ, hai số nhị phân 101121011_2101021010_2 được nhân với nhau như sau:

1 0 1 1 (A) × 1 0 1 0 (B) ---------------- 0 0 0 0 ← tương đương với 0 trong B + 1 0 1 1 ← tương đương với 1 trong B + 0 0 0 0 + 1 0 1 1 ---------------- = 1 1 0 1 1 1 0
1 0 1 1 (A) × 1 0 1 0 (B) ---------------- 0 0 0 0 ← tương đương với 0 trong B + 1 0 1 1 ← tương đương với 1 trong B + 0 0 0 0 + 1 0 1 1 ---------------- = 1 1 0 1 1 1 0

Chia hai số nhị phân

Phép chia nhị phân cũng tương tự như phép chia trong hệ thập phân. Do đó bạn cần nắm vững cách chia trên số thập phân, đồng thời cần nắm vững cách trừ 2 số nhị phân.

Cách chia 2 số thập phân (Ví dụ 1)
159 | 12 - 12 |---- -- | 13 39 | -36 | -- | 3 |
Cách chia 2 số thập phân (Ví dụ 1)
159 | 12 - 12 |---- -- | 13 39 | -36 | -- | 3 |
Cách chia 2 số thập phân (Ví dụ 2)
10011111 | 1100 - 1100 |------ ---- | 1101 1111 | - 1100 | ---- | 1111 | - 1100 | ---- | 11 |
Cách chia 2 số thập phân (Ví dụ 2)
10011111 | 1100 - 1100 |------ ---- | 1101 1111 | - 1100 | ---- | 1111 | - 1100 | ---- | 11 |

Bài tập: Ta có số bị chia là 11011211011_2 (hoặc 2727 trong số thập phân), số chia là 1012101_2 (hoặc 55 trong số thập phân). Kết quả sau khi chia là: 1012101_2