Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2010, 17:25   #1
15student89
Пользователь
 
Регистрация: 05.01.2010
Сообщений: 10
По умолчанию Чтение из двоичного файла. С++

Задача: Написать Программу чтения из двоичного файла действительного 64-разрядного числа с фиксированной точкой (структура числа: первые 4 байта -целая часть, следующие 4 байта - дробная часть).

вот что написал:

int main()
{
char fname[64];
cout << "Enter file name: ";
cin >> fname;
FILE * f = fopen(fname, "rb"); // открываем в бинарном режиме
if(!f)
{
cout << "Error open file!" << endl;
return 1;
}

char buf1[4], buf2[4], buf3[30];
unsigned int a,b;

fread(&a, 1, 4, f);
cout << "a= " << a << endl; //
cout << "hex(a) = " << hex << a << endl; //

fread(&b, 1, 4, f);
cout << "b= " << b << endl;
cout << "hex(b) = " << hex << b << endl; //
cout << "-----" << endl;

unsigned long int j=1;
double d, c=0;
for(int i = 28, k = -8; i >= 0; i-=4, k+=1) // по завершению цикла в с - дробная часть
{
d = pow (16, k);
//c=(b << i)/j;
//cout << c << " ";
c = c + ((( b << i )/j)*d);
j=j*16;
}
cout << endl;

unsigned long int j1=1;
double d1, c1=0;
for(int i = 28, k = 7; i >= 0; i-=4, k-=1) // по завершению цикла в с1 - целая часть числа
{
d1 = pow (16, k);
//c1=(a >> i);
//cout << c1 << " ";
//c1 = c1+(( a >> i )*d1);
}

double result;
result = c1+c;
cout << "Result: " << result;
getch();
return 0;
}
Работает но несовсем правильно(

Правильно работает например с таким файлом 01 00 00 00 | 00 00 00 80 выдает 1.5. А если в втором байте больше одной цифры начинаются глюки(
15student89 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение из файла pautina Общие вопросы Delphi 8 23.01.2009 15:48
Чтение из файла e@gle Общие вопросы Delphi 3 14.12.2008 17:21
Чтение из файла Amen БД в Delphi 2 09.12.2008 10:40
Чтение файла Stanislav Общие вопросы Delphi 18 24.11.2007 20:45