Chính xác điều gì xảy ra ở đây?Dịch chuyển trái với số chuyển đổi âm
a << -5
Rõ ràng là nó không đúng sự thay đổi. Nhưng cuốn sách tôi đọc tiểu bang:
Trên một máy, biểu hiện này thực sự thực hiện một sự thay đổi trái của 27 bit
Câu hỏi của tôi là; tại sao? Điều gì gây ra một sự thay đổi trái của 27 bit? Và chính xác điều gì sẽ xảy ra khi chuyển dịch với số lần dịch chuyển âm? Cảm ơn bạn.
Btw nếu sách của bạn không đề cập rằng đây là hành vi không xác định, bạn nên cân nhắc việc mua một cuốn sách khác. – Lundin
Tùy thuộc vào những gì khác của cuốn sách nói, bạn có thể tranh luận này là chính xác những gì nó đã nói (mặc dù nó có thể đứng được rõ ràng hơn). "Trên một máy, một cái gì đó xảy ra" ngầm có nghĩa là nó có thể không xảy ra với người khác. – 3Doubloons
Nếu điều này không làm việc, nó sẽ là một số hoạt động mà sẽ có hành vi tương đương với hành vi mong muốn trong câu hỏi? Có vẻ như buồn khi viết một phương trình cho hoạt động cụ thể này: (Tôi cố gắng thực hiện một ca làm đúng để làm cho 1 là 0. – patrik