icantech
Lập trình chung
53874
31/10/2023

Hệ đếm và cách chuyển số thập phân sang hệ nhị phân

Lịch sử của hệ đếm là một hành trình đầy thú vị và quan trọng trong sự phát triển của con người. Ngay từ thời tiền sử, người ta đã sử dụng các biểu đồ và ký hiệu để ghi chép sự kiện và thời gian. Tuy nhiên, sự ra đời của hệ đếm như chúng ta hiểu ngày nay thường được gắn liền với sự phát triển của nền văn học và toán học cổ đại, đặc biệt là ở các nền văn minh Mesopotamia, Ai Cập cổ đại, và Ấn Độ cổ đại. Trong bài viết này, hãy cùng ICANTECH tìm hiểu về hệ đếm và cách chuyển số thập phân sang nhị phân.

1. Tổng quan về hệ đếm

Hệ đếm là một hệ thống ký hiệu, bao gồm chữ số hoặc các biểu tượng đặc biệt, được sử dụng để biểu diễn và định rõ giá trị của các số. Hệ đếm đóng vai trò quan trọng trong việc diễn giải và lưu trữ thông tin, cũng như trong các lĩnh vực như lập trình và mã hóa.

he-dem

Ví dụ:

  • Hệ thập phân (số tự nhiên): 13
  • Hệ nhị phân (máy tính hiểu): 1101
  • Hệ thập lục phân (mã hóa dữ liệu): D

Bên trên là 1 số các ví dụ về các hệ đếm, sau đây chúng ta sẽ đi tìm hiểu kĩ hơn về hệ đếm nhị phân và hệ đếm thập phân, là 2 hệ đếm mà được sử dụng rộng rãi nhất trên thế giới với nhiều lĩnh vực.

1.1. Tìm hiểu hệ đếm thập phân

Hệ đếm thập phân là một hệ thống đếm cơ bản và phổ biến trên khắp thế giới. Trong hệ đếm này, chúng ta sử dụng mười chữ số cơ bản từ 0 đến 9 để biểu diễn mọi số. Hệ thống đếm thập phân dựa trên nguyên tắc của cơ số 10, có nghĩa là mỗi chữ số tăng lên một đơn vị làm thay đổi giá trị của số đó một lần.

- Chữ số cơ bản: Hệ thập phân sử dụng mười chữ số cơ bản từ 0 đến 9.

- Vị trí: Giá trị của một chữ số phụ thuộc vào vị trí của nó trong số. Bắt đầu từ phải sang trái, giá trị của các vị trí tăng theo lũy thừa của 10 (10^0, 10^1, 10^2, và cứ tiếp tục). Ví dụ số 321:

  • Chữ số 1 ở vị trí hàng đơn vị có giá trị 1.
  • Chữ số 2 ở vị trí hàng chục có giá trị 2 x 10 = 20.
  • Chữ số 3 ở vị trí hàng trăm có giá trị 3 x 100 = 300.
  • Giá trị số hạng: Để tính giá trị của một số được biểu diễn trong hệ thập phân, bạn nhân giá trị của mỗi chữ số với 10 mũ của vị trí của nó và sau đó cộng tất cả lại. 

Ví dụ: số 325 = (3 x 10^2) + (2 x 10^1) + (5 x 10^0) = 300 + 20 + 5 = 325.

- Dấu thập phân: Khi cần biểu thị số thập phân (như 3.14), chúng ta sử dụng dấu thập phân để tách phần nguyên và phần thập phân của số.

- Số âm: Để biểu thị số âm trong hệ thập phân, thêm dấu trừ "-" ở đầu số dương. Ví dụ: -7.

- Quy tắc cơ bản này giúp bạn hiểu cách tính giá trị số trong hệ thập phân và làm việc với các số thập phân trong toán học, khoa học và cuộc sống hàng ngày.

1.2. Hệ đếm nhị phân

Tương tự như hệ đếm thập phân, hệ đếm nhị phân là một hệ thống đếm cơ bản sử dụng cơ sở 2. Dưới đây là các quy tắc cơ bản cho hệ đếm nhị phân:

- Chữ số cơ bản: Hệ đếm nhị phân chỉ sử dụng hai chữ số cơ bản là 0 và 1.

- Vị trí: Tương tự như hệ thập phân, giá trị của một chữ số trong hệ đếm nhị phân phụ thuộc vào vị trí của nó. Bắt đầu từ phải sang trái, giá trị của các vị trí tăng theo lũy thừa của 2 (2^0, 2^1, 2^2, và cứ tiếp tục).

- Giá trị số hạng: Để tính giá trị của một số trong hệ đếm nhị phân, bạn nhân giá trị của mỗi chữ số với 2 mũ của vị trí của nó và sau đó cộng tất cả lại. Ví dụ:

  • 1101 (trong hệ đếm nhị phân) = (1 x 2^3) + (1 x 2^2) + (0 x 2^1) + (1 x 2^0) = 8 + 4 + 0 + 1 = 13 (trong hệ thập phân).

- Dấu thập phân: Hệ đếm nhị phân không sử dụng dấu thập phân để biểu thị số thập phân. Nó chỉ biểu thị số nguyên dương hoặc số không.

- Số âm: Để biểu thị số âm trong hệ đếm nhị phân, người ta thường sử dụng một phương pháp gọi là "bù 2" (two's complement), một kỹ thuật biểu thị số âm trong hệ đếm nhị phân. Phương pháp này sử dụng phép đảo bit (bitwise NOT) và cộng 1 vào số dương để biểu thị số âm.

- Quy tắc cơ bản này giúp bạn hiểu cách tính giá trị số trong hệ đếm nhị phân và làm việc với các số nhị phân trong lĩnh vực như lập trình máy tính và công nghệ thông tin.

2. Cách chuyển đổi hệ nhị phân sang thập phân và ngược lại

2.1. Chuyển nhị phân sang thập phân

Để chuyển đổi số nhị phân sang thập phân, ta đếm từ dưới lên và nhân với số lượng số 2 tương ứng

Ví dụ: chuyển 11001 về hệ 10:

cach-chuyen-doi-he-nhi-phan-sang-thap-phan

Kết quả sau khi chuyển đổi số nhị phân sang số thập phân: 11001 từ hệ nhị phân sang thập phân = 25

2.2. Chuyển đổi thập phân sang nhị phân

Cách chuyển từ hệ cơ số 10 sang hệ cơ số 2: 

  • Ta lấy số đó chia 2 và lưu lại số dư, ta lấy thương chia tiếp cho 2 cho đến khi thương bằng 0.
  • Kết quả phép chuyển, ta lấy tất cả các số dư và ghi từ dưới lên

Ví dụ: chuyển 25 về hệ cơ số 2.

chuyen-doi-thap-phan-sang-nhi-phan
  • Ta sẽ chia 25 cho 2, lưu lại số dư, sau đó lấy thương chia 2 tiếp cho 2, lưu lại số dư và lặp lại liên tục đến khi thương bằng 0.
  • Kết quả ta được: 11001

2.3. Chuyển số thập phân sang nhị phân C++

Dưới đây là code mẫu chuyển hệ thập phân sang nhị phân bằng C++

#include <iostream>

using namespace std;

int main() {

    long dec, rem, sum = 0, i = 1;

    cout << "Nhập số thập phân cần chuyển đổi: ";

    cin >> dec;

    while (dec > 0) {

        rem = dec % 2;

        sum = sum + (i * rem);

        dec = dec / 2;

        i = i * 10;

    }

    cout << "Kết quả sau khi chuyển là: " << sum << endl;

    cin.get();

    cin.get();

    return 0;

}

Kết quả:

Nhập số thập phân cần chuyển đổi: 16

Kết quả sau khi chuyển là: 10000

Những tiến bộ trong hệ đếm không chỉ giúp con người theo dõi thời gian và ghi lại lịch sử, mà còn đóng vai trò quan trọng trong các phạm vi rộng hơn, bao gồm thương mại, khoa học, và công nghệ. Hệ thống đếm đã ngày càng trở nên phức tạp và tiên tiến hơn qua các thời kỳ lịch sử, và ngày nay, chúng ta sử dụng hệ đếm cơ sở 10 (hệ thập phân) như một phần quan trọng của cuộc sống hàng ngày.

3. Lời Kết

Như vậy, ICANTECH đã giúp bạn tìm hiểu về hệ đếm, đặc biệt là hệ nhị phân, thập phân cũng như cách chuyển số thập phân sang nhị phân. Mong rằng bài viết sẽ giúp bạn hiểu rõ hơn về hai hệ đếm này, hẹn gặp các bạn trong bài viết tiếp theo của ICANTECH.

Nếu bạn đang quan đến học lập trình thì hãy tham khảo ngay các khóa học lập trình tại ICANTECH nhé!
 

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình chung

Bài tương tự