С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Набросал начерновую:
Скрытый текст
Код:#include <stdio.h> void main(void) { unsigned short O1, O2; short exp; unsigned long mant, scmant; long double res, sres; while (1) { printf("#>"); scanf("%ho %ho", &O1, &O2); printf("%ho %ho\n", O1, O2); mant = ((((unsigned long)O1 << 16) | O2) & 0x7FFFFFL) | 0x800000L; exp = (O1 >> 7) & 0xFF; exp -= 128; printf("%hi %lX\n", exp, mant); scmant = 0x800000L; sres = 0.5; res = 0.0; while (scmant != 0) { if ((scmant & mant) != 0) res += sres; scmant >>= 1; sres /= 2; } while (exp != 0) { if (exp < 0) { res /= 2; exp++; } else { res *= 2; exp--; } } if ((O1 & 0x8000) != 0) res = -res; printf("%Lg\n",res); } }[свернуть]
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)