Tôi có biến dài 32 bit, CurrentPosition, mà tôi muốn chia thành 4, 8 ký tự. Làm thế nào tôi sẽ làm điều đó hiệu quả nhất trong C? Tôi đang làm việc với một MCU 8bit, kiến trúc 8051.Làm thế nào để phân chia một giá trị dài (32 bit) thành bốn biến char (8bits) bằng cách sử dụng C?
unsigned long CurrentPosition = 7654321;
unsigned char CP1 = 0;
unsigned char CP2 = 0;
unsigned char CP3 = 0;
unsigned char CP4 = 0;
// What do I do next?
Tôi có nên chỉ tham chiếu địa chỉ bắt đầu của CurrentPosition bằng con trỏ và sau đó thêm 8 hai địa chỉ đó bốn lần?
Đó là chút Endian.
CSONG tôi muốn CurrentPosition không thay đổi.
Người cuối cùng nào? ___ – kennytm
Tôi đang sử dụng SDCC với việc sử dụng định dạng Little Endian – PICyourBrain