Có cách nào để đúc cấu trúc thành uint64_t hoặc bất kỳ int nào khác không, cho cấu trúc đó trong < = với sizeof int không? Điều duy nhất tôi có thể nghĩ đến chỉ là một giải pháp 'ok' - để sử dụng công đoàn. Tuy nhiên tôi chưa bao giờ thích chúng.Cấu trúc đúc vào int
Hãy để tôi thêm một đoạn mã để làm rõ:
typedef struct {
uint8_t field: 5;
uint8_t field2: 4;
/* and so on... */
}some_struct_t;
some_struct_t some_struct;
//init struct here
uint32_t register;
Bây giờ làm thế nào để tôi đúc some_struct để nắm bắt các bit của nó đặt trong uint32_t đăng ký.
Hy vọng điều đó sẽ rõ ràng hơn một chút.
Có luôn memcpy! –
@MartinBeckett Điều này sẽ làm cho một câu trả lời tốt đẹp :) – dasblinkenlight
Không "thích" của các công đoàn? Một công đoàn thực hiện chính xác những gì bạn muốn làm một cách rõ ràng, có thể bảo trì. "OK" là gì? –