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

    solution

    Đề bài: [Hệ điều hành Unix] Byte order: ntohs và round-trip

    ntohs và tính đối xứng

    ntohs (network-to-host short) thực hiện phép hoán đổi byte giống hệt htons cho số 16-bit (vì hoán đổi 2 byte là phép nghịch đảo của chính nó). Do đó ntohs(htons(v)) == v.

    Cho số v, hãy in ra htons(v) và ntohs(htons(v)) để minh hoạ round-trip.

    Ví dụ

    Vào: 513 → htons = 258, ntohs(258) = 513.

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

      Một dòng chứa số 16-bit v (0 ≤ v ≤ 65535).

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

      0 ≤ v ≤ 65535.

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

      Hai dòng: dòng 1 là htons(v), dòng 2 là ntohs(htons(v)).

    Ví dụ:

    Đầu vào:

    513
    

    Đầu ra:

    258
    513

    Giải thích:

    513=0x0201 → htons=0x0102=258 → ntohs lại về 513.

    Đang tải editor...