#include <iostream>
#include <iomanip>
int main()
{
long int myLong = 0x12340;
unsigned char myArray[16] = {};
std::cout << "Initially: ";
for (const auto& x : myArray)
std::cout << std::setw(2) << std::setfill('0') << std::hex << static_cast<int>(x) << ' ';
std::cout << std::endl;
size_t i = sizeof(myArray) / sizeof(myArray[0]); // Get one beyond last index of array
for (size_t shift = 0; shift < sizeof(myLong) * 8 && i > 0; shift += 4)
myArray[--i] = static_cast<unsigned char>((myLong >> shift) & 0x0f);
std::cout << "After : ";
for (const auto& x : myArray)
std::cout << std::setw(2) << std::setfill('0') << std::hex << static_cast<int>(x) << ' ';
std::cout << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCmludCBtYWluKCkKewoJbG9uZyBpbnQgbXlMb25nID0gMHgxMjM0MDsKCXVuc2lnbmVkIGNoYXIgIG15QXJyYXlbMTZdID0ge307CgoJc3RkOjpjb3V0IDw8ICJJbml0aWFsbHk6ICI7Cglmb3IgKGNvbnN0IGF1dG8mIHggOiBteUFycmF5KQoJCXN0ZDo6Y291dCA8PCBzdGQ6OnNldHcoMikgPDwgc3RkOjpzZXRmaWxsKCcwJykgPDwgc3RkOjpoZXggPDwgc3RhdGljX2Nhc3Q8aW50Pih4KSA8PCAnICc7CglzdGQ6OmNvdXQgPDwgc3RkOjplbmRsOwoKCXNpemVfdCBpID0gc2l6ZW9mKG15QXJyYXkpIC8gc2l6ZW9mKG15QXJyYXlbMF0pOyAgLy8gR2V0IG9uZSBiZXlvbmQgbGFzdCBpbmRleCBvZiBhcnJheQoJZm9yIChzaXplX3Qgc2hpZnQgPSAwOyBzaGlmdCA8IHNpemVvZihteUxvbmcpICogOCAmJiBpID4gMDsgc2hpZnQgKz0gNCkKCQlteUFycmF5Wy0taV0gPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPigobXlMb25nID4+IHNoaWZ0KSAmIDB4MGYpOwoKCXN0ZDo6Y291dCA8PCAiQWZ0ZXIgICAgOiAiOwoJZm9yIChjb25zdCBhdXRvJiB4IDogbXlBcnJheSkKCQlzdGQ6OmNvdXQgPDwgc3RkOjpzZXR3KDIpIDw8IHN0ZDo6c2V0ZmlsbCgnMCcpIDw8IHN0ZDo6aGV4IDw8IHN0YXRpY19jYXN0PGludD4oeCkgPDwgJyAnOwoJc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQo=