fork download
  1. #include <stdio.h>
  2.  
  3. union Float64 {
  4. double y;
  5. char bytes[8];
  6. };
  7.  
  8. int main(void) {
  9. const char digits[] = "0123456789abcdef";
  10. union Float64 q;
  11.  
  12. printf("Test Case n=1\n");
  13.  
  14. q.y = 1;
  15. for (int i = 7; i >= 0; i--) {
  16. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  17. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  18. printf("%c%c ", b, a);
  19. }
  20. printf("(n)\n");
  21.  
  22. q.y = 2;
  23. for (int i = 7; i >= 0; i--) {
  24. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  25. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  26. printf("%c%c ", b, a);
  27. }
  28. printf("(n+1)\n");
  29.  
  30. q.y = 3;
  31. for (int i = 7; i >= 0; i--) {
  32. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  33. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  34. printf("%c%c ", b, a);
  35. }
  36. printf("(n+2)\n");
  37.  
  38. q.y = 4;
  39. for (int i = 7; i >= 0; i--) {
  40. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  41. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  42. printf("%c%c ", b, a);
  43. }
  44. printf("(n+3)\n");
  45.  
  46. q.y = 5;
  47. for (int i = 7; i >= 0; i--) {
  48. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  49. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  50. printf("%c%c ", b, a);
  51. }
  52. printf("(n+4)\n");
  53.  
  54. q.y = 6;
  55. for (int i = 7; i >= 0; i--) {
  56. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  57. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  58. printf("%c%c ", b, a);
  59. }
  60. printf("(n+5)\n");
  61.  
  62. q.y = 7;
  63. for (int i = 7; i >= 0; i--) {
  64. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  65. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  66. printf("%c%c ", b, a);
  67. }
  68. printf("(n+6)\n");
  69.  
  70. q.y = 8;
  71. for (int i = 7; i >= 0; i--) {
  72. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  73. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  74. printf("%c%c ", b, a);
  75. }
  76. printf("(n+7)\n");
  77.  
  78. q.y = 9;
  79. for (int i = 7; i >= 0; i--) {
  80. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  81. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  82. printf("%c%c ", b, a);
  83. }
  84. printf("(n+8)\n");
  85.  
  86. q.y = -1;
  87. for (int i = 7; i >= 0; i--) {
  88. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  89. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  90. printf("%c%c ", b, a);
  91. }
  92. printf("(-n)\n");
  93.  
  94. q.y = 0;
  95. for (int i = 7; i >= 0; i--) {
  96. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  97. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  98. printf("%c%c ", b, a);
  99. }
  100. printf("(n-1)\n");
  101.  
  102. q.y = -1;
  103. for (int i = 7; i >= 0; i--) {
  104. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  105. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  106. printf("%c%c ", b, a);
  107. }
  108. printf("(n-2)\n");
  109.  
  110. q.y = -2;
  111. for (int i = 7; i >= 0; i--) {
  112. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  113. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  114. printf("%c%c ", b, a);
  115. }
  116. printf("(n-3)\n");
  117.  
  118. q.y = -3;
  119. for (int i = 7; i >= 0; i--) {
  120. char a = digits[q.bytes[i] & 0x0f]; // lower nibble
  121. char b = digits[(q.bytes[i] & 0xf0) >> 4]; // upper nibble
  122. printf("%c%c ", b, a);
  123. }
  124. printf("(n-4)\n");
  125.  
  126. printf("End of Test");
  127.  
  128. return 0;
  129. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Test Case n=1
3f f0 00 00 00 00 00 00 (n)
40 00 00 00 00 00 00 00 (n+1)
40 08 00 00 00 00 00 00 (n+2)
40 10 00 00 00 00 00 00 (n+3)
40 14 00 00 00 00 00 00 (n+4)
40 18 00 00 00 00 00 00 (n+5)
40 1c 00 00 00 00 00 00 (n+6)
40 20 00 00 00 00 00 00 (n+7)
40 22 00 00 00 00 00 00 (n+8)
bf f0 00 00 00 00 00 00 (-n)
00 00 00 00 00 00 00 00 (n-1)
bf f0 00 00 00 00 00 00 (n-2)
c0 00 00 00 00 00 00 00 (n-3)
c0 08 00 00 00 00 00 00 (n-4)
End of Test