Tôi biết rằng sau đây là đúngCó cách nào để thực hiện thay đổi bit tròn trong C# không?
int i = 17; //binary 10001
int j = i << 1; //decimal 34, binary 100010
Nhưng, nếu bạn chuyển quá xa, các bit rơi ra cuối cùng. Trường hợp này xảy ra là một vấn đề kích thước của số nguyên bạn đang làm việc với.
Có cách nào để thực hiện thay đổi sao cho các bit xoay quanh phía bên kia không? Tôi đang tìm một hoạt động đơn lẻ, không phải là vòng lặp for.
Hoạt động của loại này sẽ được sử dụng ở đâu? Mục đích của việc xoay vòng bit là gì? Tôi không cần biết, nhưng tôi chỉ quan tâm đến việc mở rộng kiến thức. Keith –
một câu hỏi rất hay. Tôi vừa kiểm tra mã được tạo ra và trình biên dịch C# không tạo mã sử dụng lệnh xoay của CPU (không phải kiến trúc x86 có chúng từ 8086 ...). Đây là một sự xấu hổ. C thực hiện tối ưu hóa này. Các phép quay cũng rất quan trọng đối với các tác vụ mật mã và dsp. –