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

Ваш аккаунт

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

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

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

Целая часть double?

481
19 марта 2006 года
Виктор
71 / / 09.04.2003
int a,b;
z=a/b; ???
294
20 марта 2006 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by Виктор
int a,b;
z=a/b; ???


Тема не раскрыта.

247
20 марта 2006 года
wanja
1.2K / / 03.02.2003
Телепаты все в отпуске.
362
20 марта 2006 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by wanja
Телепаты все в отпуске.



Я думаю, что человека интересует отчего это

 
Код:
int a,b; z=a/b;

не совпадает с
 
Код:
double a,b; z=a/b;
481
20 марта 2006 года
Виктор
71 / / 09.04.2003
z тоже int.
14K
20 марта 2006 года
halflifer
28 / / 14.03.2006
Просто если и делитель и делимое целые, то / - это целочисленное деление. А что бы получить float, нужно хотябы одно число привести к float'у

C++:
 
Код:
float a = static_cast<float>(b)/c;


C:
 
Код:
float a = float(b)/c;
362
20 марта 2006 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by halflifer
 
Код:
float a = static_cast<float>(b)/c;



static_cast - это уже лишнее

14K
21 марта 2006 года
halflifer
28 / / 14.03.2006
Цитата:
Originally posted by _kolyan
static_cast - это уже лишнее


Почему же, не понял?

362
22 марта 2006 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by halflifer
Почему же, не понял?



Просто лишняя писанина, но это ИМХО, конечно.
С++ не обязывает использовать операторы явного приведения типов там, где возможно неявное.
Поэтому и в С и в С++ достаточно float(c).

14K
22 марта 2006 года
halflifer
28 / / 14.03.2006
Цитата:
Originally posted by _kolyan
Просто лишняя писанина, но это ИМХО, конечно.
С++ не обязывает использовать операторы явного приведения типов там, где возможно неявное.
Поэтому и в С и в С++ достаточно float(c).


float() и static_cast() - это одно и то же, только float() - это в стиле C, а static_cast - C++. И то и другое явное преобразование.

481
22 марта 2006 года
Виктор
71 / / 09.04.2003
Спасибо всем!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог