Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ПоЧЕМУ!?

18K
21 августа 2006 года
Костян
6 / / 21.08.2006
Пожалуста объясните почему так происходит и как сделать так чтобы этого не происходило.
Мне нужно прочитать из бинарного файла число в формате float я делаю это так:

float a_new=0;
a_new|=in.get();
a_new<<=8;

a_new|=in.get();
a_new<<=8;

a_new|=in.get();
a_new<<=8;

a_new|=in.get();
cout<<a_new<<endl;
Но компилятор ругается на это и говорит
- "53 invalid operands of types ` float' and `int' to binary `operator|' "
Когда вместо float ставлю тип int у переменной, то все работает ПОЧЕМУ!
Либо скажите дркгой способ чтения переменной float.
1.8K
21 августа 2006 года
Death Knight
139 / / 19.02.2006
А что если прочитать как строку а потом перевести в флоат...
18K
21 августа 2006 года
Костян
6 / / 21.08.2006
Не совсем понятно как, можно поподробней?
1.8K
21 августа 2006 года
Death Knight
139 / / 19.02.2006
Ты говоришь, что с типом int все работает, а ты замени тип на char, а потом конвертируй его во float или double с помощью функции atof:
double x;
x = atof( s );
s - это строка в которую ты считываешь значение...
3
21 августа 2006 года
Green
4.8K / / 20.01.2000
Тебе же компилятор ясно говорит почему.
Потому что нет такого бинарного оператора для аргументов один из которых float, а другой int. Для float вообще нет бинарных операторов.

А почему бы тебе не использовать read ?
18K
22 августа 2006 года
Костян
6 / / 21.08.2006
Death Knight и Green, спасибо большое за помощь очень помогли.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог