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ố.
Bạn đang xem: Cách đổi thập phân sang nhị phân
Xem source code cài đặt bằng Java
Trong bài viết này mình sẽ hướng dẫn các bạn chuyển đổi một số từ thập phân sang nhị phân và ngược lại, cùng với phép toán cộng hai số nhị phân.
1. Chuyển số thập phân sang số nhị phân
Nguyên tắc của phương pháp này là lấy số cần chuyển đổi chia cho 2 [kết quả chỉ lấy phần nguyên], sau đó tiếp tục lấy kết quả chia 2 [và cũng chỉ lấy phần nguyên], kết quả số nhị phân thu được là tập hợp các số dư của các phép chia.
Để dễ hiểu, chúng ta sẽ làm 2 ví dụ.
Ví dụ 1: Chuyển số 30 sang hệ nhị phân
Đầu tiên [ở dòng 1], chúng ta lấy 30 chia 2, kết quả được 15 và số dư là 0.
Kế tiếp [ở dòng 2], chúng ta lấy số 15 chia 2, kết quả được 7 và số dư là 1
Tiếp theo ở dòng 3, ta lấy số 7 chia 2, kết quả được 3 và dư 1
Ta tiếp tục lặp lại quá trình này cho đến khi kết quả chia 2 chúng ta được 0.
Số nhị phân chúng ta thu được chính là tập hợp các số dư của các phép chia [lấy từ dưới lên].
Số 30 trong hệ nhị phân sẽ là 11110
Ví dụ 2: Chuyển số 71 sang hệ nhị phân
Đầu tiên [ở dòng 1], chúng ta lấy 71 chia 2, kết quả được 35 và số dư là 1.
Kế tiếp [ở dòng 2], chúng ta lấy số 35 chia 2, kết quả được 17 và số dư là 1
Tiếp theo ở dòng 3, ta lấy số 17 chia 2, kết quả được 8 và dư 1
Ta tiếp tục lặp lại quá trình này cho đến khi kết quả chia 2 chúng ta được 0.
Xem thêm: Bùa Yêu Là Gì - Cách Hoá Giải Bùa Ngải Yêu Mới 2020
Số nhị phân chúng ta thu được chính là tập hợp các số dư của các phép chia [lấy từ dưới lên].
Số 71 trong hệ nhị phân sẽ là 1000111
Đối với phần lẻ của số thập phân, số lẻ được nhân với 2. Phần nguyên của kết quả sẽ là bit nhị phân, phần lẻ của kết quả lại tiếp tục nhân 2 cho đến khi phần lẻ của kết quả bằng 0.
Ví dụ: Chuyển số 0.62510 sang hệ nhị phân
0.625 x 2 = 1.25, lấy số 1, phần lẻ 0.250.25 x 2 = 0.5, lấy số 0, phần lẻ 0.50.5 x 2 = 1.0, lấy số 1, phần lẻ 0. Kết thúc phép chuyển đổi.Vậy kết quả 0.62510=0.1012
Ví dụ 2: đổi số 9.62510 sang hệ nhị phân
Phần nguyên 9 đổi sang hệ nhị phân là 1001Phần lẻ 0.625 đổi sang hệ nhị phân là 0.101Vậy số 9.62510=1001.1012
2. Chuyển số nhị phân sang thập phân
Bây giờ chúng ta chuyển số 1000111 về số thập phân. Ta thấy số 1000111 có tổng cộng 7 kí tự, chúng ta sẽ đánh số 7 kí tự này từ phải sang trái và bắt đầu từ 0 như sau:
Số thập phân kết quả sẽ là tổng các tích của kí tự nhị phân x 2 lũy thừa vị trí.
Tức là 1x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 1x20
= 64 + 0 + 0 + 0 + 4 + 2 + 1 = 71
Tương tự, để chuyển số 11110 sang hệ thập phân, ta phân tích nó như sau:
Số 11110 chuyển sang số nhị phân sẽ là 1x24 + 1x23 + 1x22 + 1x21 + 0x20
= 16 + 8 + 4 + 2 + 0 = 30
3. Cộng số nhị phân
Để cộng hai số nhị phân, chúng ta cần nhớ các nguyên tắc sau:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 10 [nhớ 1 để cộng vào hàng trước nó, tương tự như phép cộng số thập phân]
Bây giờ ta tiến hành cộng hai số 1000111 [số 71 trong hệ thập phân] và số 11110 [số 30 trong hệ thập phân].
Bước | Tại cột | Thực hiện phép tính |
1 | 7 | 1 + 0 = 1 |
2 | 6 | 1 + 1 = 10, viết 0, nhớ 1 |
3 | 5 | 1 + 1 = 10, cộng thêm 1 [nhớ ở bước 2] là 11, viết 1 nhớ 1 |
4 | 4 | 0 + 1 = 1, cộng thêm 1 [nhớ ở bước 3] là 10, viết 0, nhớ 1 |
5 | 3 | 0 + 1 = 1, cộng thêm 1 [nhớ ở bước 4] là 10, viết 0, nhớ 1 |
6 | 2 | 0 + 1 [nhớ ở bước 5] = 1 |
7 | 1 | lấy 1 ở trên xuống. |
Và kết quả chúng ta được: 1000111 + 11110 = 1100101 [71 + 30 = 101, các bạn có thể kiếm tra lại bằng cách đổi số 101 sang nhị phân xem có đúng kết quả vừa làm ra không].
Các bạn có thể tải bài viết này dưới dạng file pdf tại đây.
Mình có 1 chương trình nhỏ dùng để chuyển đổi số từ thập phân sang nhị phân và ngược lại ở đây, các bạn có thể tự thực hành chuyển đổi sau đó dùng chương trình này để kiểm tra lại kết quả.
Từ Nhị phân Thập phân Hệ thập lục phân
Tới Nhị phân Thập phân Hệ thập lục phân
Chuyển đổi nhị phân sang thập phân ►
- Chia số cho 2.
- Lấy thương số nguyên cho lần lặp tiếp theo.
- Lấy phần còn lại cho chữ số nhị phân.
- Lặp lại các bước cho đến khi thương số bằng 0.
Chuyển 13 10 sang nhị phân:
13/2 | 6 | 1 | 0 |
6/2 | 3 | 0 | 1 |
3/2 | 1 | 1 | 2 |
1/2 | 0 | 1 | 3 |
Vậy 13 10 = 1101 2
Ví dụ số 2
Chuyển 174 10 sang nhị phân:
174/2 | 87 | 0 | 0 |
87/2 | 43 | 1 | 1 |
43/2 | 21 | 1 | 2 |
21/2 | 10 | 1 | 3 |
10/2 | 5 | 0 | 4 |
5/2 | 2 | 1 | 5 |
2/2 | 1 | 0 | 6 |
1/2 | 0 | 1 | 7 |
Vậy 174 10 = 10101110 2
Bảng chuyển đổi thập phân sang nhị phân
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
16 | 10000 | 10 |
17 | 10001 | 11 |
18 | 10010 | 12 |
19 | 10011 | 13 |
20 | 10100 | 14 |
21 | 10101 | 15 |
22 | 10110 | 16 |
23 | 10111 | 17 |
24 | 11000 | 18 |
25 | 11001 | 19 |
26 | 11010 | 1A |
27 | 11011 | 1B |
28 | 11100 | 1C |
29 | 11101 | 1D |
30 | 11110 | 1E |
31 | 11111 | 1F |
32 | 100000 | 20 |
64 | 1000000 | 40 |
128 | 10000000 | 80 |
256 | 100000000 | 100 |
Chánh / 28 tháng 08, 2019
5 min read
·
••• views·
••• likes- Hệ số thập phân [decimal hay còn gọi là hệ đếm cơ số 10] có mười giá trị [0,1,2,3,4,5,6,7,8,9][0,1,2,3,4,5,6,7,8,9][0,1,2,3,4,5,6,7,8,9] cho từng trị số.
- Hệ nhị phân [binary hay còn gọi là hệ đếm cơ số 2] là một hệ đếm chỉ dùng hai ký tự là 000 và 111 để biểu đạt một giá trị số. Và bạn cũng có các phép toán cơ bản cộng, trừ, nhân, chia trên hệ nhị phân. Trong bài này tôi sẽ trình bài cách chuyển đổi qua lại giữa hệ nhị phân và hệ thập phân.
Trước tiện hãy thử sử dụng công cụ dưới đây để chuyển đổi hệ thập phân sang nhị phân hoặc ngược lại chuyển đổi hệ nhị phân sang thập phân bằng cách nhập giá trị tương ứng vào 2 ô bên dưới.
Nguyên tắc của phương pháp này là lấy số cần chuyển đổi chia cho 222 [kết quả chỉ lấy phần nguyên], sau đó tiếp tục lấy kết quả chia cho 222 [và cũng chỉ lấy phần nguyên], kết quả số nhị phân thu được là tập hợp các số dư của các phép chia [lấy từ phép chia cuối cùng trở lên trên]. Để dễ hình dung ta sẽ làm các ví dụ sau:
Ví dụ 1: Chuyển số 303030 sang hệ nhị phân
Chuyển số 30 sang hệ nhị phân
30/2 = 15 [dư 0] 15/2 = 7 [dư 1] 7/2 = 3 [dư 1] 3/2 = 1 [dư 1] 1/2 = 0 [dư 1] Như vậy, số 30 trong hệ nhị phân sẽ là: 1 1 1 1 0Ví dụ 2: Chuyển số 717171 sang hệ nhị phân
Chuyển số 71 sang hệ nhị phân
71/2 = 35 [dư 1] 35/2 = 17 [dư 1] 17/2 = 8 [dư 1] 8/2 = 4 [dư 0] 4/2 = 2 [dư 0] 2/2 = 1 [dư 0] 1/2 = 0 [dư 1] Như vậy, số 71 trong hệ nhị phân sẽ là: 1 0 0 0 1 1 1Đối với phần lẻ của số thập phân, số lẻ được nhân với 2. Phần nguyên của kết quả sẽ là bit nhị phân, phần lẻ của kết quả lại tiếp tục nhân 2 cho đến khi phần lẻ của kết quả bằng 0.
Ví dụ 3: Chuyển số 0.6250.6250.625 sang hệ nhị phân
- 0.6250.6250.625 x 2=1.252 = 1.252=1.25 [lấy số 111], phần lẻ 0.250.250.25
- 0.250.250.25 x 2=0.52 = 0.52=0.5 [lấy số 000], phần lẻ 0.50.50.5
- 0.50.50.5 x 2=1.02 = 1.02=1.0 lấy số 111, phần lẻ 000.
- Kết thúc phép chuyển đổi, ta thu được kết quả là 1012101_21012 [lấy từ phép nhân đầu tiên đến phép nhân cuối cùng]
Ví dụ 4: Chuyển số 9.6259.6259.625 sang hệ nhị phân
- Phần nguyên 999 ta chuyển đổi sang hệ nhị phân là 100121001_210012 [đổi tương tự như ví dụ 1 và ví dụ 2]
- Phần lẻ 0.6250.6250.625 đổi sang hệ nhị phân là 1011 0 1101
- Vậy số 9.6259.6259.625 khi đổi sang hệ nhị phân sẽ là 100110121001101_210011012
Ví dụ 5: Chuyển đổi số nhị phân 100011121000111_210001112 sang số thập phân.
Ta thấy số 100011121000111_210001112 có tổng cộng 777 kí tự, chúng ta sẽ đánh số 777 kí tự này theo vị trí từ phải sang trái và bắt đầu từ 000 như sau:
Vị trí | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Kết quả | 111x262^626 | 000x252^525 | 000x242^424 | 000x232^323 | 111x222^222 | 111x212^121 | 111x202^020 |
Số thập phân cần tìm là kết quả tổng của kí tự nhị phân x 2 lũy thừa vị trí.
Tức là: [1[1[1 x 26]+[02^6] + [026]+[0 x 25]+[02^5] + [025]+[0 x 24]+[02^4] + [024]+[0 x 23]+[12^3] + [123]+[1 x 22]+[12^2] + [122]+[1 x 21]+[12^1] + [121]+[1 x 20]2^0]20] Vậy ta được kết quả là 64+0+0+0+4+2+1=7164 + 0 + 0 + 0 + 4 + 2 + 1 = 7164+0+0+0+4+2+1=71
Ví dụ 6: Chuyển đổi số nhị phân 11110211110_2111102 sang số thập phân.
Tương tự như ví dụ 5. Ta có bảng sau:
Vị trí | 4 | 3 | 2 | 1 | 0 |
Kết quả | 111x242^424 | 111x232^323 | 111x222^222 | 111x212^121 | 000x202^020 |
Ta được: [1[1[1 x 24]+[12^4] + [124]+[1 x 23]+[12^3] + [123]+[1 x 22]+[12^2] + [122]+[1 x 21]+[02^1] + [021]+[0 x 20]2^0]20] Vậy ta được kết quả là 16+8+4+2+0=3016 + 8 + 4 + 2 + 0 = 3016+8+4+2+0=30
Ngoài ra, bạn cũng có thể thực hiện cách đổi hệ nhị phân sang hệ thập phân bằng quy ước nếu dịch sang trái một vị trí thì giá trị gấp hai lần so với khi ở vị trí cũ.
Ví dụ 1: 1102110_21102 → 111x4+14 + 14+1x2+02 + 02+0x1=61 =61=6
Ví dụ 2: 11110211110_2111102 → 111x16+116 + 116+1x8+18 + 18+1x4+14 + 14+1x2+02 + 02+0x1=301 = 301=30
Như vậy, đó là các cách mà bạn sẽ sử dụng để chuyển đổi hệ cơ số học. Hy vọng bài viết này sẽ giúp bạn phần nào trên con đường tự học của mình.