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

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

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

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

23.02.2013, 19:05. Просмотров 655. Ответов 3
Метки нет (Все метки)

Здравствуйте. Скажите, почему эта программа выводит на экран число 2, а не 2.5 ?
C++
1
2
3
4
5
6
#include <iostream.h>
int main()
{
double k=5/2;
cout << k <<"\n";
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2013, 19:05     Неправильно работает cout для чисел типа double и float
Посмотрите здесь:
C++ 2-ичное представление числа типа double или float?
Сделать вывод типа float в шаблоне вместо double C++
C++ std::cout в CodeBlocks неправильно работает?
C++ Как проверить вводилось ли число (типа double или float) в консоль
Функция для нахождения среднего арифметического пяти чисел типа float C++
Создать динамический массив, любого простого типа (например: int, long, float, double) C++
C++ Ошибка с циклом While. По разному работает с double и float, хотя должен бы одинаково
Расчет точности для float и double C++
Используя перегрузки, написать функцию для выполнения действий, для следующих типов данных: float, int, double C++
C++ Ввод и вывод чисел типа float
C++ Дана матрица чисел типа double.
C++ printf. Округление чисел типа double

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Черный ворон
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
Сообщений: 5
23.02.2013, 19:27  [ТС]     Неправильно работает cout для чисел типа double и float #4
Спасибо, Большое
Yandex
Объявления
23.02.2013, 19:27     Неправильно работает cout для чисел типа double и float
Ответ Создать тему
Опции темы

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