Добавил:
korayakov
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:решение лаб / Задача _ 78 / lab
.cpp#include <stdio.h>
#include <stdlib.h>
extern "C" { void proc1(long int *,long int *,long int *,int,int,int); }
extern "C" { int get1(long int *,int); }
int main()
{
int LEN = 18;
long int *lp;
(void *) lp = malloc(3*(LEN+2));
// *(lp + 4) = 0x90008000;
// *(lp + 3) = 0x70006000;
// *(lp + 2) = 0x50004000;
// *(lp + 1) = 0x30002000;
// *(lp + 0) = 0x1000a000;
*(lp + 0) = 0x11118f34;
*(lp + 1) = 0x11111111;
*(lp + 2) = 0x00001111;
*(lp + 3) = 0x00000000;
*(lp + 4) = 0x00000000;
*(lp + 5) = 0x1111412f;
*(lp + 6) = 0x11111111;
*(lp + 7) = 0x00000000;
*(lp + 8) = 0x00000000;
*(lp + 9) = 0x00000000;
*(lp + 10) = 0x11111111;
*(lp + 11) = 0x11111111;
*(lp + 12) = 0x11111111;
*(lp + 13) = 0x11111111;
*(lp + 14) = 0x11111111;
proc1( lp, lp + 5, lp + 10, LEN - 8, LEN - 8, LEN );
printf(" MSB<----------MANTISA----------->LSB - N \n");
printf("s1 %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+0,18), get1(lp+0,16), get1(lp+0,14), get1(lp+0,12), get1(lp+0,10), get1(lp+0,8), get1(lp+0,6), get1(lp+0,4), get1(lp+0,2), get1(lp+0,0));
printf("s2 %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+5,18), get1(lp+5,16), get1(lp+5,14), get1(lp+5,12), get1(lp+5,10), get1(lp+5,8), get1(lp+5,6), get1(lp+5,4), get1(lp+5,2), get1(lp+5,0));
printf("res %04x%04x%04x%04x%04x%04x%04x%04x%04x %04x \n", get1(lp+10,18), get1(lp+10,16), get1(lp+10,14), get1(lp+10,12), get1(lp+10,10), get1(lp+10,8), get1(lp+10,6), get1(lp+10,4), get1(lp+10,2), get1(lp+10,0));
free(lp);
}