I want to store two 32-bit values in a single long int variable.
How would you do this on a 32-bit OS using C? Is it possible to store the data in a single long long variable? If so, how is that done?
Use an uint64_t and bitwise operators.
uint64_t i64;
uint32_t a32, b32;
// Be carefull when shifting the a32.
// It must be converted to a 64 bit value or you will loose the bits
// during the shift.
i64 = ((uint64_t)a32 << 32) | b32;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With