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

    solution

    Đề bài: [Kiến trúc máy tính] Mã hóa ZigZag

    Mã hóa ZigZag (dùng trong Protocol Buffers) ánh xạ số nguyên có dấu sang số không âm để varint nén tốt: ENC dùng (n<<1) XOR (n>>63) cho số 64-bit; DEC dùng (u>>1) XOR -(u&1). Cho mode và val, in kết quả.

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

      Một dòng: mode val. mode là ENC hoặc DEC.

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

      -2^63 ≤ val < 2^63 (ENC); 0 ≤ val < 2^64 (DEC).

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

      Giá trị sau mã hóa/giải mã.

    Ví dụ:

    Đầu vào:

    ENC -1
    

    Đầu ra:

    1

    Giải thích:

    ZigZag(-1) = (-1<<1) XOR (-1>>63) = -2 XOR -1 = 1.

    Đang tải editor...