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] Dịch phải số học trên số bù 2

    Cho một số nguyên có dấu x biểu diễn bằng số bù 2 trên n bit và số lần dịch s. Hãy thực hiện dịch phải số học (arithmetic shift right) s lần: mỗi lần dịch, bit dấu (bit cao nhất) được sao chép vào vị trí bit cao nhất.

    In kết quả dưới dạng giá trị thập phân có dấu và chuỗi nhị phân n bit của kết quả, cách nhau bởi một dấu cách.

    Ví dụ

    x = -8, n = 8, s = 2: bù 2 là 11111000; dịch phải số học 2 → 11111110 = -2.

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

      Một dòng: x n s cách nhau bởi dấu cách. x là số thập phân có dấu vừa trong n bit bù 2.

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

      1 ≤ n ≤ 32, −2^(n−1) ≤ x < 2^(n−1), 0 ≤ s ≤ 64.

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

      Một dòng: giá trị thập phân có dấu, dấu cách, chuỗi nhị phân n bit của kết quả.

    Ví dụ:

    Đầu vào:

    -8 8 2
    

    Đầu ra:

    -2 11111110

    Giải thích:

    -8 = 11111000; dịch phải số học 2 lần, bit dấu 1 lấp đầy → 11111110 = -2.

    Đang tải editor...