Các cách chuyển thập phân sang nhị phân

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.101

Vậ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ướcTại cộtThực hiện phép tính
171 + 0 = 1
261 + 1 = 10, viết 0, nhớ 1
351 + 1 = 10, cộng thêm 1 [nhớ ở bước 2] là 11, viết 1 nhớ 1
440 + 1 = 1, cộng thêm 1 [nhớ ở bước 3] là 10, viết 0, nhớ 1
530 + 1 = 1, cộng thêm 1 [nhớ ở bước 4] là 10, viết 0, nhớ 1
620 + 1 [nhớ ở bước 5] = 1
71lấ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 ►

  1. Chia số cho 2.
  2. Lấy thương số nguyên cho lần lặp tiếp theo.
  3. Lấy phần còn lại cho chữ số nhị phân.
  4. 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:

Chia
cho 2 Thương số Phần còn lại Bit #
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:

Chia
cho 2 Thương số Phần còn lại Bit #
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


Số thập phân
Số nhị phân
Số Hex
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à 000111 để 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 0

Ví 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:

Kí tự nhị phân1000111
Vị trí6543210
Kết quả111x262^626000x252^525000x242^424000x232^323111x222^222111x212^121111x202^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:

Kí tự nhị phân11110
Vị trí43210
Kết quả111x242^424111x232^323111x222^222111x212^121000x202^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_21102111x4+14 + 14+1x2+02 + 02+0x1=61 =61=6
Ví dụ 2: 11110211110_2111102111x16+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.

Video liên quan

Chủ Đề