Which operation may change the sign (leftmost) bit?
Dễ4 phương án1 lượt làmCó lời giảiXuất hiện trong 1 bộ đề
A·B·C·DCác phương án trả lời
Arithmetic right shiftĐúng
BArithmetic left shift
CLogical left shift
DNone of these above
Giải thích chi tiết
Chọn đáp án đúng: 'Arithmetic right shift'.
Khi thực hiện phép dịch phải (right shift) với số nguyên, nếu số đó là số âm thì dấu nhị phân của số đó sẽ được thay đổi. Điều này xảy ra vì trong máy tính, số âm được biểu diễn bằng cách sử dụng dấu nhị phân 2's complement. Khi thực hiện phép dịch phải, các bit được dịch ra khỏi dấu nhị phân 2's complement, dẫn đến thay đổi của dấu bit trái (leftmost) bit.
Ví dụ, nếu số nguyên -8 được biểu diễn bằng 2's complement là 1000 0000, khi thực hiện phép dịch phải một bit, số đó sẽ trở thành 0100 0000, tức là số 8. Điều này cho thấy rằng phép dịch phải có thể thay đổi dấu bit trái (leftmost) bit của số nguyên âm.
Ngược lại, phép dịch trái (left shift), phép dịch trái logic (logical left shift) và phép dịch phải logic (logical right shift) không thay đổi dấu bit trái (leftmost) bit của số nguyên.