Đổ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ế, con người chúng ta quen với các số biểu diển bằng hệ thập phân, nhưng trên máy tính thì máy tính sử dụng hệ số Nhị phân với hai chữ số 0 hoặc 1 để biểu diển cho tất cả các dữ liệu. Các số Thập lục phân thường dùng biểu diển cho các dạng địa chỉ, ví dụ như địa chỉ vùng nhớ trên RAM. Nhưng để dễ tiếp cận thì tôi đơn cử các trường hợp dùng Nhị phân mà bạn thường gặp là biểu diển các bit địa chỉ IPv4 (khi phân tích chúng ra), còn các số Thập lục phân dùng biểu diển cho địa chỉ MAC của card mạng và IPv6.

Trong bảng dưới ta thấy, để biểu diển các số thập phân, người ta dùng mười chữ số từ 0 đến 9. Để biểu diển Nhị phân thì người ta dùng hai số 0 và 1. Đối với Thập lục phân, để biểu diển các con số ngoài mười chữ số từ 0 đến 9 như thập phân, chúng còn có các số tương ứng từ 10 đến 15 được biểu diển bằng các ký tự từ A đến F. Đối với hệ bát phân, người ta dùng các số từ 0 đến 7 để biểu diển các giá trị.

Để đổi một số thập phân sang Nhị phân, chúng ta lấy số muốn đổi sang nhị phân chia với 2 và sau đó lấy kết quả chia tiếp tục chia với 2, và lập lại phép chia này cho đến khi ta nhận được kết quả là 0 (từ trên xuống, theo mũi tên màu xanh). Ở phép chia này, ta lấy dư là 0 và 1. Sau khi chia đến kết quả bằng 0, ta sẽ lấy các con số dư ghi lại từ dưới lên (theo chiều mũi tên màu đỏ) ta được dãy số gồm 0 và 1, đây chính là giá trị ta cần tìm (các số dư chỉ là 0 và 1, không được chia kết quả ra phần lẻ, ví dụ như 2,5).

Trong phép chia trên, ta muốn tìm giá trị Nhị phân của số 11, ta lấy số 11 chia cho 2 và sau đó chia liên tục kết quả với 2 cho đến khi nào kết quả bằng 0. Sau đó, ta lấy số dư ghi lại và ta được kết quả Nhị phân của số 11 là 1011.

Để đổi giá trị Nhị phân ra thành Thập phân, ta lấy dãy số Nhị phân cần chuyển, nhân lần lượt các phần tử của chúng bắt đầu từ phần tử cuối (theo chiều mũi tên màu đỏ) với 20 cho đến 2n-1  (với n là số phần tử của dãy số), sau đó, chúng ta tiến hành cộng các giá trị tìm được từ phép nhân, ta sẽ được kết quả một con số dưới dạng Thập phân.

Ở đây, chúng ta cần tìm giá trị của chuổi 1011, vậy ta nhân lần lượt các phần tử trong chuỗi số bắt đầu từ phần tử cuối cùng nhân với 20 đến 23 (vì ở đây dãy này có n = 4 số vậy n-1 =3). Sau đó, chúng ta tiến hành cộng các giá trị tìm được từ phép nhân, ta sẽ được kết quả Thập phân của dãy Nhị phân 1011 là 11.

Tương tự như cách đổi Thập phân ra Nhị phân, ta có thể tiến hành đổi các số Thập phân ra hệ Thập lục phân, nhưng ở đây chúng ta lấy số cần đổi chia cho 16. Chúng ta cũng tiến hành phép chia từ trên xuống, theo chiều mũi tên màu xanh và  ghi lại kết quả từ dưới lên, theo chiều mũi tên màu đỏ, giá trị lấy dư không được quá 15. Do hệ Thập lục phân có phần biểu diển các giá trị từ 10 đến 15 là A, B, C, D, E, F nên các số dư trươc khi ghi lại thành dãy số Thập lục phân từ 10 đến 15 phải quy đổi thành các ký tự từ A đến F.

Ở trong ví dụ ta có 11=B, 12=C, vậy kết quả biểu diển của 700 thành Thập lục phân là 2BC (chia theo chiều mũi tên xanh và ghi lại kết quả theo chiều mũi tên đỏ, giá trị lấy dư không được quá 15).

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

 

Ở đây 2BC =700.

Tương tự, ta có thể đổi hệ Thập phân ra hệ Bát phân bằng cách chia con số Thập phân cần đổi với 8 rồi lấy kết quả chia với 8 liên tục cho đến khi kết quả bằng 0, sau đó ghi lại các số dư từ dưới lên để có được dãy Bát phân. Số dư của phép chia không được lớn hơn 7.

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

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

Sau khi đổi dãy Bát phân 216 ra Thập phân, ta được một số Thập phân 142.

Ngoài ra, để cho nhanh trong việc chuyển đổi các hệ số ta có thể dùng máy tính, ví dụ như tính năng Calculator trong hệ điều hành Windows, ta chọn chế độ Programmer.

Ta chỉ cần chọn các hệ số nguồn, sau đó nhận vào sô cần đổi, và chọn hệ số đích là có thể chuyển đổi.

Ngoài ra còn có những công cụ online, ở đây tôi giới thiệu với bạn một công cụ tại địa chỉ sau:

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

Việc nắm vững  được cách chuyển đổi từ thập phân sang hai hệ số này rất quan trọng để bạn hiểu được các dạng địa chỉ được sử dụng trong ngành mạng máy tính. Ở 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ẽ được giới thiệu về chuyển đổi phần lẻ sau dấu phẩy thập phân.

Chia sẻ nào!

Related posts