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.8 (85 votes)
Ảnh của Tommy Tran

Tommy Tran 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
  • Phone/Zalo: (+84) 944 225 212
  • WhatsApp: (+84) 944 225 212
  • Line Messenger: (+84) 944 225 212
  • Email: asaleotestf@gmail.com
  • Telegram Messenger: https:/t.me/tommytran0401

Quảng cáo việc làm

 

Thích hợp các bạn nữ mảng thợ may làm việc tại nước NGA

Đơn hàng Tuyển dụng 100 Thợ may đi Nga(đợt 1 tháng 3.2021, đợt 2 tháng 5.2021). Lương thực lãnh 800 USD, bao ăn ở, vé máy bay và visa, phí xuất cảnh(1800 USD)trả khi đi làm có lương. Bạn có thể liên hệ CÔNG TY qua Phone/Zalo: (+84) 944 225 212. Công ty sẽ tư vấn cho bạn.

Xem chi tiết: >>> https://bit.ly/3o9NOfR

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

 
Use the Drupal Widgets Module For Reusable Content

Sử dụng Drupal Widgets Module để nhân bản 1 nội dung

The Widgets module allows you to centrally manage text and code snippets across your Drupal site.

Cài đặt nhanh drush (and pear) trên osx 10.8

Cài đặt nhanh drush (and pear) trên osx 10.8

I was reconfiguring my localhost, and needed to install mighty drush on OSX 10.8 Mountain Lion.

Apple

Apple thua kiện gã tí hon Tây Ban Nha

Theo thông tin mới nhất đăng tải trên CNET, Apple đã bị một phen bẽ mặt trước NT-K, hãng sản xuất mẫu tablet Android NT-K có trụ sở đặt tại Tây Ban Nha.