Tôi biết bạn có thể nhận được các byte đầu tiên bằng cách sử dụngc có được byte thứ n của số nguyên
int x = number & ((1<<8)-1);
hoặc
int x = number & 0xFF;
Nhưng tôi không biết làm thế nào để có được byte thứ n của một số nguyên. Ví dụ: 1234 là 00000000 00000000 00000100 11010010 dưới dạng số nguyên 32 bit Làm cách nào để nhận tất cả các byte đó? đầu tiên người ta sẽ được 210, thứ hai sẽ là 4 và cuối cùng hai sẽ là 0.
Bạn đã sử dụng toán tử thay đổi bit << << 'trong ví dụ của mình. Làm thế nào bạn có thể sử dụng toán tử shift để nhận các bit khác nhau trong số của bạn? –
Hãy thử toán tử thay đổi bit khác. –
Hãy nhớ rằng "byte đầu tiên" - như bạn đã sử dụng nó ở đây - có thể không phải là byte đầu tiên trong bộ nhớ. Ví dụ của bạn, 1234, có thể rất dễ dàng là '11010010' ở địa chỉ thấp nhất và '00000000' ở địa chỉ cao nhất. – Thanatos