Site icon Blog Dương Trạng

Đổi số Thập phân ra số Nhị phân, Thập lục phân, Bát phân và ngược lại – Phần 1: phần nguyên

Đổi số Thập phân ra số Nhị phân, Thập lục phân, Bát phân và ngược lại – Phần 1: phần nguyên

Đổi số Thập phân ra số Nhị phân, Thập lục phân, Bát phân và ngược lại – Phần 1: phần nguyên

Trong thực tế, chúng ta thường sử dụng hệ thập phân để biểu diễn các số, nhưng trên máy tính, máy tính sử dụng hệ nhị phân với chỉ hai chữ số 0 và 1 để biểu diễn dữ liệu. Số thập lục phân thường được sử dụng để biểu diễn địa chỉ, ví dụ như địa chỉ vùng nhớ trên RAM. Tuy nhiên, để dễ dàng tiếp cận, chúng ta sẽ tập trung vào việc chuyển đổi từ hệ nhị phân mà bạn thường gặp phổ biến nhất, là chuyển đổi các bit địa chỉ IPv4 (khi phân tích chúng ra). Còn số thập lục phân được sử dụng để biểu diễn địa chỉ MAC của card mạng và IPv6.

Trong bảng dưới đây, chúng ta có thể nhìn thấy rằng để biểu diễn các số thập phân, chúng ta sử dụng các chữ số từ 0 đến 9. Để biểu diễn số nhị phân, chúng ta sử dụng hai số 0 và 1. Còn đối với số thập lục phân, chúng ta sử dụng các con số từ 0 đến 9 như số thập phân, cộng thêm các chữ số từ A đến F. Và cuối cùng, đối với hệ bát phân, chúng ta sử dụng các con số từ 0 đến 7.

Để chuyển đổi một số thập phân sang số nhị phân, chúng ta lấy số đó chia cho 2 và lặp lại quá trình chia cho đến khi thu được kết quả là 0 (theo mũi tên màu xanh từ trên xuống). Lúc này, ta ghi lại dư là 0 hoặc 1. Khi hoàn thành quá trình chia, ta viết các số dư từ dưới lên (theo mũi tên màu đỏ). Dãy số này chính là giá trị nhị phân tương ứng (chú ý rằng các số dư chỉ có thể là 0 hoặc 1, không thể chia ra các số thập phân như 2.5).

Ví dụ, để chuyển đổi số 11 sang nhị phân, ta lấy số 11 chia cho 2, rồi tiếp tục chia kết quả cho 2 cho đến khi thu được kết quả 0. Sau đó, ta ghi lại các số dư từ dưới lên và ta sẽ có dãy nhị phân “1011”.

Để chuyển đổi từ giá trị nhị phân sang thập phân, chúng ta lấy dãy số nhị phân cần chuyển và nhân lần lượt các phần tử của nó, bắt đầu từ phần tử cuối (theo mũi tên màu đỏ) với 2^0 cho đến 2^(n-1) (với n là số lượng phần tử của dãy số). Sau đó, chúng ta cộng các giá trị tìm được từ phép nhân và ta sẽ có một số thập phân.

Ví dụ, để chuyển đổi dãy nhị phân “1011” sang thập phân, chúng ta nhân lần lượt các phần tử trong dãy số này, bắt đầu từ phần tử cuối cùng, với 2^0 đến 2^(n-1) (ở đây dãy có n = 4 số, n-1 = 3). Sau đó, chúng ta cộng các giá trị tìm được từ phép nhân và ta có kết quả thập phân là 11.

Tương tự như việc chuyển đổi từ thập phân sang nhị phân, chúng ta có thể chuyển đổi các số thập phân sang hệ thập lục phân bằng cách chia số thập phân cần chuyển đổi cho 16. Ta tiến hành phép chia từ trên xuống theo mũi tên màu xanh và ghi lại kết quả từ dưới lên theo mũi tên màu đỏ. Giá trị dư không được lớn hơn 15. Vì hệ thập lục phân biểu diễn các số từ 10 đến 15 bằng các chữ số tương ứng A, B, C, D, E, F, các số dư trước khi ghi lại thành dãy số thập lục phân cần được chuyển đổi thành các ký tự từ A đến F.

Ví dụ, trong ví dụ này, ta có “11” tương đương với “B”, và “12” tương đương với “C”, vậy kết quả biểu diễn của “700” sang thập lục phân là “2BC” (theo mũi tên màu xanh và ghi lại kết quả theo mũi tên màu đỏ, giá trị dư không được lớn hơn 15).

Để chuyển đổi từ thập lục phân ngược lại sang thập phân, chúng ta tiến hành tương tự như việc chuyển đổi từ nhị phân sang thập phân. Tuy nhiên, chúng ta cần chuyển các giá trị biểu diễn từ A đến F thành các số tương ứng (theo bảng giá trị ở trên), sau đó nhân các số này bắt đầu từ số cuối cùng với 16^0 đến 16^(n-1) (theo mũi tên màu đỏ), sau khi nhân xong, ta cộng tổng các giá trị tìm được.

Sau khi chuyển đổi dãy thập lục phân “2BC” sang thập phân, ta có kết quả là 700.

Tương tự, chúng ta có thể chuyển đổi từ thập phân sang hệ bát phân bằng cách chia số thập phân cần chuyển đổi cho 8, sau đó lấy kết quả chia tiếp tục chia cho 8 cho đến khi thu được kết quả bằng 0, sau đó, chúng ta ghi lại các số dư từ dưới lên để có được dãy bát phân. Số dư từ phép chia không được lớn hơn 7.

Ở ví dụ này, ta thấy giá trị bát phân của số thập phân 142 là 216.

Để chuyển đổi từ bát phân ngược lại sang thập phân, chúng ta nhân từng giá trị của dãy bát phân với 8^0 đến 8^(n-1) theo chiều mũi tên đỏ.

Sau khi chuyển đổi dãy bát phân 216 sang thập phân, ta có kết quả là 142.

Ngoài ra, để thuận tiện trong việc chuyển đổi cơ số, chúng ta có thể sử dụng các công cụ máy tính, ví dụ như tính năng Calculator trong hệ điều hành Windows, chúng ta chỉ cần chọn chế độ Programmer.

Chúng ta chỉ cần chọn các cơ số đầu vào, nhập số cần chuyển đổi và chọn cơ số đích, ta có thể thực hiện chuyển đổi.

Thậm chí chúng ta còn có các công cụ trực tuyến, ví dụ như công cụ tại địa chỉ sau:

https://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html

Việc hiểu và nắm vững cách chuyển đổi giữa các hệ số này rất quan trọng để hiểu các dạng địa chỉ được sử dụng trong lĩnh vực mạng máy tính. Trong bài viết này, chúng ta đã tìm hiểu về phần nguyên, trong phần tiếp theo, chúng ta sẽ tìm hiểu về chuyển đổi phần thập phân sau dấu phẩy thập phân.

Hãy chia sẻ nếu bạn thích bài viết

Exit mobile version