#include <stdio.h>
union Float64 {
double y;
char bytes[8];
};
int main(void) {
const char digits[] = "0123456789abcdef";
union Float64 q;
q.y = +1.0;
for (int i = 7; i >= 0; i--) {
char a = digits[q.bytes[i] & 0x0f]; // lower nibble
char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
printf("%c%c%c", b
, a
, i
!= 0 ? ' ' : '\0'); }
q.y = +1.1;
for (int i = 7; i >= 0; i--) {
char a = digits[q.bytes[i] & 0x0f]; // lower nibble
char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
printf("%c%c%c", b
, a
, i
!= 0 ? ' ' : '\0'); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp1bmlvbiBGbG9hdDY0IHsKCWRvdWJsZSB5OwoJY2hhciBieXRlc1s4XTsKfTsKCmludCBtYWluKHZvaWQpIHsKCWNvbnN0IGNoYXIgZGlnaXRzW10gPSAiMDEyMzQ1Njc4OWFiY2RlZiI7Cgl1bmlvbiBGbG9hdDY0IHE7CgoJcHJpbnRmKCJUZXN0IENhc2VzIik7CgoJcS55ID0gKzEuMDsKCXByaW50ZigiXG4rMS4wOiAiKTsKCWZvciAoaW50IGkgPSA3OyBpID49IDA7IGktLSkgewoJCWNoYXIgYSA9IGRpZ2l0c1txLmJ5dGVzW2ldICYgMHgwZl07ICAgICAgICAgLy8gbG93ZXIgbmliYmxlCgkJY2hhciBiID0gZGlnaXRzWyhxLmJ5dGVzW2ldICYgMHhmMCkgPj4gNF07ICAvLyB1cHBlciBuaWJibGUKCQlwcmludGYoIiVjJWMlYyIsIGIsIGEsIGkgIT0gMCA/ICcgJyA6ICdcMCcpOwoJfQoKCXEueSA9ICsxLjE7CglwcmludGYoIlxuKzEuMTogIik7Cglmb3IgKGludCBpID0gNzsgaSA+PSAwOyBpLS0pIHsKCQljaGFyIGEgPSBkaWdpdHNbcS5ieXRlc1tpXSAmIDB4MGZdOyAgICAgICAgIC8vIGxvd2VyIG5pYmJsZQoJCWNoYXIgYiA9IGRpZ2l0c1socS5ieXRlc1tpXSAmIDB4ZjApID4+IDRdOyAgLy8gdXBwZXIgbmliYmxlCgkJcHJpbnRmKCIlYyVjJWMiLCBiLCBhLCBpICE9IDAgPyAnICcgOiAnXDAnKTsKCX0KCiAJcmV0dXJuIDA7Cn0=