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

double - C++

Восстановить пароль Регистрация
 
pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
10.03.2011, 15:36     double #1
double s = (1 / 5);
cout << s;
в моём понимании он должен вывести 0.2 ну или что-то типо того. Но выводит 0... Чё то я не понимаю логики
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no0ker
100 / 87 / 4
Регистрация: 17.12.2010
Сообщений: 416
10.03.2011, 15:39     double #2
а если вот так =)
C++
1
2
double s = (1.0 / 5);
std::cout << s;
мне кажется, что логика в вашем примере такая. компилятор видит единицу. хорошо, думает он, это int. потом видит, что она делится на 5 (тоже int). ну получается 0 (что разумно, при делении int на int). а потом этот ноль (в формате int) приводится к формату double. (ну и получается 0)
silent_1991
10.03.2011, 15:47
  #3

Не по теме:

Цитата Сообщение от no0ker Посмотреть сообщение
мне кажется
Это не вам так кажется, это так и есть

pito211
 Аватар для pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
10.03.2011, 15:55  [ТС]     double #4
Цитата Сообщение от no0ker Посмотреть сообщение
а если вот так =)
C++
1
2
double s = (1.0 / 5);
std::cout << s;
мне кажется, что логика в вашем примере такая. компилятор видит единицу. хорошо, думает он, это int. потом видит, что она делится на 5 (тоже int). ну получается 0 (что разумно, при делении int на int). а потом этот ноль (в формате int) приводится к формату double. (ну и получается 0)
хитро

спасибо
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
10.03.2011, 15:57     double #5
pito211, http://www.cplusplus.com/reference/i.../setprecision/
Yandex
Объявления
10.03.2011, 15:57     double
Ответ Создать тему
Опции темы

Текущее время: 08:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru