You are on page 1of 3

4.

2 SHIFT OPERATIONS
Thao tác dịch chuyển logic được áp dụng cho mẫu không biểu thị số có dấu.
Lý do là thao tác dịch chuyển này có thể thay đổi dấu của số được xác định bởi bit ngoài cùng bên trái
trong mẫu.

Simple shift
Một thao tác dịch trái đơn giản sẽ dịch từng bit trong mẫu sang trái một vị trí. Bit ngoài cùng bên trái bị
mất và bit 0 được chèn vào bit ngoài cùng bên phải. Hoạt động này nhân mẫu một cách hiệu quả với 2.
Hình 4.3 minh họa các phép dịch chuyển phải đơn giản và các phép dịch chuyển trái đơn giản cho một
mẫu 8 bit, thể hiện cách các bit được dịch chuyển và các mẫu kết quả sau các dịch chuyển.

Circular shift
Thao tác dịch chuyển vòng tròn, còn được gọi là thao tác xoay, dịch chuyển các bit mà không làm mất
hoặc thêm bất kỳ bit nào.
Dịch chuyển vòng tròn sang phải hoặc xoay phải, di chuyển mỗi bit sang phải một vị trí. Bit ngoài cùng
bên phải được luân chuyển và trở thành bit ngoài cùng bên trái, giữ nguyên độ dài của mẫu.
Dịch chuyển trái tròn hoặc xoay trái, di chuyển mỗi bit sang trái một vị trí. Bit ngoài cùng bên trái được
luân chuyển và trở thành bit ngoài cùng bên phải, duy trì độ dài của mẫu.
Hoạt động dịch chuyển vòng tròn rất hữu ích khi việc duy trì tính toàn vẹn và độ dài của mẫu bit là quan
trọng và khi tạo hiệu ứng vòng tròn hoặc bao quanh trong tính toán hoặc cấu trúc dữ liệu.
Arithmetic shift operations
Các phép dịch số học được thực hiện trên các mẫu bit biểu diễn các số nguyên có dấu ở định dạng phần
bù hai.
Phép dịch phải số học chia một số nguyên cho hai. Nó bảo toàn bit dấu (ngoài cùng bên trái) trong khi sao
chép nó sang bit bên phải tiếp theo, đảm bảo rằng dấu được duy trì. Bit ngoài cùng bên phải bị mất trong
quá trình dịch chuyển.
Phép dịch trái số học nhân một số nguyên với hai. Nó loại bỏ bit dấu và sử dụng bit ở bên trái của bit dấu
làm dấu mới. Nếu bit dấu mới giống với bit dấu trước đó thì thao tác thành công. Tuy nhiên, nếu bit dấu
thay đổi, nó biểu thị tràn hoặc tràn và kết quả được coi là không hợp lệ.
Các phép toán dịch chuyển số học được thiết kế đặc biệt để duy trì dấu của các số nguyên có dấu ở dạng
bù hai trong khi thực hiện phép chia hoặc nhân cho hai. Các phép toán này rất quan trọng trong tính toán
số học và biểu diễn dữ liệu liên quan đến số nguyên có dấu.

You might also like