Có vẻ như tôi sẽ có thể thực hiện thay đổi bit trong C/C++ bởi hơn 32 bit cung cấp toán hạng bên trái của ca làm việc là dài. Nhưng điều này dường như không hoạt động, ít nhất là với trình biên dịch g ++.Làm cách nào để bit chuyển đổi dài hơn 32 bit?
Ví dụ:
unsigned long A = (1L << 37)
cho
A = 0
mà không phải là những gì tôi muốn. Tôi có thiếu cái gì đó hay chỉ là điều này không thể?
-J
Long là 32 bit trên hầu hết các kiến trúc .... –
Sử dụng 'LL' thay vì chỉ' L' –