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

Неправильно работает cout для чисел типа double и float - C++

Восстановить пароль Регистрация
 
PuzanZero
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 4
23.02.2013, 19:05     Неправильно работает cout для чисел типа double и float #1
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ?
C++
1
2
3
4
5
6
#include <iostream.h>
int main()
{
double k=5/2;
cout << k <<"\n";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
129 / 123 / 6
Регистрация: 31.01.2012
Сообщений: 435
23.02.2013, 19:21     Неправильно работает cout для чисел типа double и float #2
все дело в неявном преобразовании типов и специфике компилятора. в данном случае вы выполняете операцию a/b
Здесь у вас а=5 при чем "5" то есть целое число. таким образом компилятор делит целое число 5 на число 2 (у вас оно тоже целое, но это не принципиально). в результате получаем целую часть от деления и только после этого она помещается в переменную k.
напишите так и все будет работать правильно:
C++
1
2
3
4
5
6
7
#include <iostream.h>
int main()
{
double k=5.0/2;
cout<<k<<endl;
system("pause");
}
Хулиган
 Аватар для Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
23.02.2013, 19:24     Неправильно работает cout для чисел типа double и float #3
Цитата Сообщение от PuzanZero Посмотреть сообщение
Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ?
C++
1
2
3
4
5
6
#include <iostream.h>
int main()
{
double k=5/2;
cout << k <<"\n";
}
Порядок выполнения программы такой: вначале происходит деление, а затем переменной К присваивается результат. 5 и 2 заданы как целочисленные, поэтому результат деления без дробной части. Нужно хотя бы 1 значение записать как double : 5.0 или 2.0
PuzanZero
0 / 0 / 0
Регистрация: 23.02.2013
Сообщений: 4
23.02.2013, 19:27  [ТС]     Неправильно работает cout для чисел типа double и float #4
Спасибо, Большое
Yandex
Объявления
23.02.2013, 19:27     Неправильно работает cout для чисел типа double и float
Ответ Создать тему
Опции темы

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