Số thập phân
Số thập phân là hệ đếm cơ số 10 được sử dụng trong toán học và cuộc sống hàng ngày. Chúng ta sử dụng 10 chữ số khác nhau từ 0 – 9 để biểu diễn các chữ số thập phân. Các chữ số là 0, 1, 2, 3, 4, 5, 6, 7, 8 và 9. Khi giá trị chữ số vượt quá số 9 chúng ta tăng giá trị lên một hàng từ hàng đơn vị đến hàng chục và vân vân và vân vân.
Số nhị phân
Sốn nhị phân là hệ thống đếm cơ số 2 được sử dụng để biểu diễn ngôn ngữ máy. Khác với số thập phân, hệ thống số nhị phân chỉ sử dụng hai chữ số 0 và 1 để biểu diễn.
Số nhị phân là một hệ thống số khác chủ yếu được sử dụng để biểu diễn ngôn ngữ máy. Không giống như số thập phân, hệ thống số nhị phân chỉ có hai chữ số biểu diễn nhị phân là số 1 và 0. Giá trị 1 biểu hiện bật, giá trị o biểu hiện tắt.
Do đó, bit ngoài cùng bên phải đại diện cho 2^0 , bit ngoài cùng bên phải thứ hai đại diện cho 2^1 ,… như được hiển thị trong bảng bên dưới. Các bit tiếp theo từ phải qua trái sẽ gấp đôi giá trị trước nó. Giá trị của mỗi chữ số trong số nhị phận xác định bằng vị trí của nó. Tổng của tất cả các giá trị cột này cho mỗi chữ số sẽ biểu thị số thập phân của số nhị phân.
Bảng giá trị nhị phân trong mỗi bit của 1 Octet:
Bit thứ 8 | Bit thứ 7 | Bit thứ 6 | Bit thứ 5 | Bit thứ 4 | Bit thứ 3 | Bit thứ 2 | Bit thứ 1 |
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Chuyển đổi địa chỉ IP nhị phân sang thập phân
Bằng cách sử dụng phương pháp ký hiệu vị trí chúng ta có thể dễ dàng chuyển một số nhị phân sang thập phân. Ví dụ như: 11100011. Chúng ta chỉ cần “bật” các bit tương ứng và tính giá trị của các giá trị thập phâp lại.
Bảng hiển thị giá trị nhị phân 11100011:
Bit thứ 8 | Bit thứ 7 | Bit thứ 6 | Bit thứ 5 | Bit thứ 4 | Bit thứ 3 | Bit thứ 2 | Bit thứ 1 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
Bảng trên cho thấy các bit có giá trị 128, 64, 32, 2 và 1 đều được bật. Ta tính tổng tất cả các giá trị cho các bit “bật”. Vì vậy, đối với giá trị nhị phân trong bảng, 11100011, chúng ta cộng 128+64+32+2+1 = 227.
Tương tự như vậy, bây giờ chúng ta sẽ chuyển một địa chỉ IP dưới dạng nhị phân (11100000.10101010.11001100.00000111) thành địa chỉ IP dưới dạng thập phân (224.170.204.7). Quá trình chuyển đổi chi tiết được mô tả dưới hình ảnh sau:
Chuyển đổi địa chỉ IP thập phân sang nhị phân
Dưới đây là ví dụ về địa chỉ IPv4 ở định dạng thập phân có dấu chấm và định dạng nhị phân tương ứng của nó:
Từ hình ảnh trên bạn có thể thấy rằng, các số thập phân đều có số nhị phân tương ứng của mình:
- 192 = 11000000
- 168 = 10101000
- 32 = 00100000
- 47 = 00101111
Bây giờ mình sẽ hướng dẫn bạn cách để làm được điều này. Đầu tiên khi chuyển đổi thập phân sang nhị phân, bạn cần phải hiểu các chữ số thập phân tương ứng của một byte. Ở phần trước mình có đề đến, có 8 bit trong 1 byte và mỗi bit tương ứng với các chữ số cụ thể dựa trên bit có trọng số cao nhất (MSB) và bit có trọng số thấp nhất (LSB).
Bit thứ 8 | Bit thứ 7 | Bit thứ 6 | Bit thứ 5 | Bit thứ 4 | Bit thứ 3 | Bit thứ 2 | Bit thứ 1 |
2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
MSB | LSB |
Chẳng hạn muốn chuyển đổi số thập phân 168 thành số nhị phân. Ta phải thực hiện một phương pháp cộng các giá trị đơn giản dựa trên bảng trên để có được số thập phân tương ứng. Mỗi số 1 nên được thêm vào và số 0 nên được bỏ qua.
- 168 -128 = 40 (1)
- 40 – 64 = -24 (0)
- 40 – 32 = 8 (1)
- 8 – 16 = -8 (0)
- 8 – 8 = 0 (1)
- 0 – 4 = -4 (0)
- 0 – 2 = -2 (0)
- 0 – 1 = (0)
Khi chênh lệch bằng 0 hoặc phần còn lại của giá trị cho đến LSB sẽ bằng 0. Do đó, số nhị phân tương đương của 168 là 10101000.
Áp dụng cách thức này, mình sẽ chuyển đổi một địa chỉ IP dạng thập phân (168.202.48.93) sẽ thành địa chỉ IP dạng nhị phân (10101000.11001010.00110000.01011101). Quá trình chuyển đổi được mô tả chi tiết qua hình ảnh sau:
0 nhận xét:
Post a Comment