Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Darland
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 13
#1

Как сохранить плавающую точку? - C++

10.11.2008, 19:27. Просмотров 730. Ответов 4
Метки нет (Все метки)

Страшная проблема!

Turbo С 3.0

Есть переменная типа double, как сохранить ее в файл открытый для записи в бинарном режиме, в том виде как она лежит в памяти? То есть, чтобы в файле она заняла положенные ей 8 байт. Или говоря на BASICе:

DIM a AS DOUBLE

OPEN 1.bin FOR BINARY AS #1

PUT #1,,a

Причем если а типа float и a=1.157840e-7 то на диске должно получиться 00 00 F8 33.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2008, 19:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сохранить плавающую точку? (C++):

Сделать плавающую кнопку, при нажатии на которую происходил бы переход на главную страницу - C++
Доброго времени суток! У меня такой вопрос, есть киоск для справок клиентов, на нём стоит Ubuntu, открыт браузер Google Chrome с сайтом....

В введенной строке заменить каждую запятую и точку на точку с запятой - C++
В введенной строке заменить каждую запятую и точку на точку с запятой и вывести полученную строку.

Найти точку D, симметричную точку A относительно стороны BC. - C++
помогите решить пожалуйста...

Как поменять точку на запятую в Visual C++ 6? - C++
У меня в разделе Язык и региональные стандарты выставлена запятая(Делитель целой части и дробной). Т.е. для всей системы правильно число...

Определить точку плоскости как класс - C++
Помогите пожалуйста выполнить задание на С++ : Определить точку плоскости как класс, содержащий пару чисел с плавающей точкой, конструктор...

Как вывести точку и нарисовать квадрат? - C++
Хотел бы узнать как мне в моей ОС на C++/C работать с графикой ибо интернете я нормального описания не нашёл. Как вывести точку и...

4
ManiaK
Сообщений: n/a
11.11.2008, 16:51 #2
Попробуй создать строку размером (в байтах) с double (8). С помощью memcpy скопируй содержимое переменной в строку.
Удачи!
palva
2747 / 1848 / 266
Регистрация: 08.06.2007
Сообщений: 7,028
Записей в блоге: 4
12.11.2008, 11:29 #3
Сильно зависит от того, какие средства вывода вы используете. Если не выходить за рамки стандарта C++, то возможна такая программа:
Код
#include <fstream.h>
int main() {
  float a = 1.157840e-7;
  // тут произошло усечение double-константы
  ofstream dat('test.dat', ios::binary);
  char *p = (char *) &a;
  dat.put(*p++);
  dat.put(*p++);
  dat.put(*p++);
  dat.put(*p++);
  // программа выводит в файл ED A4 F8 33
  return 0;
}
0
palva
2747 / 1848 / 266
Регистрация: 08.06.2007
Сообщений: 7,028
Записей в блоге: 4
12.11.2008, 11:33 #4
Извините, данная программа работает, но файл всё-таки положено закрывать.
Код
  dat.close();
0
Darland
0 / 0 / 0
Регистрация: 10.11.2008
Сообщений: 13
13.11.2008, 16:24  [ТС] #5
Огромное вам спасибо! Попробую оба варианта.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2008, 16:24
Привет! Вот еще темы с ответами:

Как построить точку в проекции Гаусса-Крюгера - C++
Здравствуйте! Столкнулся с такой задачей, даны такие координаты x = 6396700 и y = 5594500, как по этим данным определить координаты точки...

Как в двумерном массиве вычислить центральную точку? - C++
Как в двумерном массиве вычислить центральную точку? Можете написать код пожайлуста

Как нарисовать точку на экране поверх всех окон? - C++
Нужно вывести по центру экрана точку поверх всех окон, тоесть не только в моём приложении а вообще поверх всех.

точку нужно отобразить в виде пикселя. как это сделать - C++
/*Реализовать класс Graphic, который позволяет рисовать на экране консоли различные геометрические фигуры. Разнести проект по файлам. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
13.11.2008, 16:24
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru