Chuyển đổi số từ thập phân sang nhị phân

Chuyển đổi số từ 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ố.

Xem source code cài đặt bằng Java

>>> Chuyển từ hệ thập phân sang hệ nhị phân bằng ngôn 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

Chuyen doi so 30

Đầ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

Chuyen doi so 71

Đầ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.

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.25
  • 0.25 x 2 = 0.5, lấy số 0, phần lẻ 0.5
  • 0.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

Chuyển đổi số từ thập phân sang nhị phân

Ví dụ 2: đổi số 9.62510 sang hệ nhị phân

  • Phần nguyên 9 đổi sang hệ nhị phân là 1001
  • Phầ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ố nhị phân 1 0 0 0 1 1 1
Thứ tự 6 5 4 3 2 1 0

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ố nhị phân 1 1 1 1 0
Thứ tự 4 3 2 1 0

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

Cột 1 2 3 4 5 6 7
71= 1 0 0 0 1 1 1
30=     1 1 1 1 0

101= 1 1 0 0 1 0 1

Ta tiến hành cộng từ phải sang trái như sau:

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

Chúc các bạn thành công.

Bạn thấy bài viết này như thế nào?: 
Average: 4.5 (103 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Tìm kiếm bất động sản

 

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
60 vệ tinh Starlink đầu tiên của SpaceX trong quỹ đạo - Ảnh: SPACEX

Elon Musk đã ‘tweet’ thành công bằng mạng Internet từ vệ tinh Starlink

Tỉ phú công nghệ Elon Musk vừa có một trải nghiệm đáng chúc mừng khi lần đầu tiên sử dụng mạng Internet do một vệ tinh Internet thuộc dự án Starlink để đăng thông tin lên Twitter thành công.

Sử dụng công cụ Extension DevTools có sẵn Google Chrome

Sử dụng công cụ Extension DevTools có sẵn Google Chrome

Chào cả nhà, hôm nay đưa 1 bài viết hữu ích cho những bạn rất cần nó. Chắc hẳn chúng ta đều biết Extension DevTools có sẵn Google Chrome (F12).

Xác định độ khó của từ khóa

Xác định độ khó của từ khóa

Độ khó của từ khóa được chia thành 7 cấp độ như sau: Độ khó từ 0 - 15% | Không cạnh tranh (tối ưu hóa trong trang để đạt được vị trí cao)...

Công ty diệt chuột T&C

 

Diet con trung