Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Mạng máy tính] IPv4-mapped IPv6

    Địa chỉ IPv4-mapped IPv6 có dạng ::ffff:0:0/96: 80 bit đầu bằng 0, 16 bit kế là ffff, 32 bit cuối là địa chỉ IPv4.

    Cho địa chỉ IPv4 a.b.c.d, hãy in dạng IPv6 ánh xạ ở định dạng ::ffff:HHHH:LLLL trong đó:

    • HHHH = giá trị hệ 16 của 16 bit cao (a*256 + b),
    • LLLL = giá trị hệ 16 của 16 bit thấp (c*256 + d).

    Hệ 16 viết chữ thường, không có số 0 đệm thừa (ví dụ 0 chứ không phải 0000). Không dùng ipaddress.

    Ví dụ

    192.168.0.1 → 16 bit cao = 192*256+168 = 49320 = 0xc0a8, 16 bit thấp = 0*256+1 = 1. Kết quả: ::ffff:c0a8:1.

    • Định dạng đầu vào:

      Dòng đầu n. n dòng sau, mỗi dòng một địa chỉ IPv4 a.b.c.d.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 100. 0 ≤ a,b,c,d ≤ 255.

    • Định dạng đầu ra:

      In n dòng, mỗi dòng là địa chỉ IPv6 ánh xạ tương ứng.

    Ví dụ:

    Đầu vào:

    3
    192.168.0.1
    0.0.0.0
    255.255.255.255
    

    Đầu ra:

    ::ffff:c0a8:1
    ::ffff:0:0
    ::ffff:ffff:ffff

    Giải thích:

    192.168.0.1: cao=0xc0a8, thấp=0x1 → ::ffff:c0a8:1. 0.0.0.0 → ::ffff:0:0. 255.255.255.255 → cao=thấp=0xffff → ::ffff:ffff:ffff.

    Đang tải editor...