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

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

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

Не происходит конвертация типа int в float - C++

22.09.2013, 12:26. Просмотров 452. Ответов 7
Метки нет (Все метки)

C++
1
2
int r = 130;
r = (float)r/255;
r равен 0. Почему не произошла конвертация типа?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2308 / 1934 / 192
Регистрация: 03.07.2012
Сообщений: 6,924
Записей в блоге: 1
22.09.2013, 12:27     Не происходит конвертация типа int в float #2
Потому что r - int
NanoChely
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 48
22.09.2013, 12:28  [ТС]     Не происходит конвертация типа int в float #3
Я видел примеры, на форумах неоднократно, где такой вариант использовали.
castaway
Эксперт С++
4869 / 3008 / 370
Регистрация: 10.11.2010
Сообщений: 11,059
Записей в блоге: 10
Завершенные тесты: 1
22.09.2013, 12:28     Не происходит конвертация типа int в float #4
C++
1
2
int r = 130;
float dr = r / 255.f;
Цитата Сообщение от NanoChely Посмотреть сообщение
Я видел примеры, на форумах неоднократно, где такой вариант использовали.
Видеть то ты видел, но скорее всего не так переписал.
zer0mail
2308 / 1934 / 192
Регистрация: 03.07.2012
Сообщений: 6,924
Записей в блоге: 1
22.09.2013, 12:30     Не происходит конвертация типа int в float #5
Цитата Сообщение от NanoChely Посмотреть сообщение
Я видел примеры, на форумах неоднократно, где такой вариант использовали.
Ачуметь , где?
NanoChely
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 48
22.09.2013, 12:32  [ТС]     Не происходит конвертация типа int в float #6
castaway,
спасибо

p.s. хотелось бы узнать тогда какой смысл с явного указания типа float, если он не изменяет тип переменной, в других языка такое канало, собственно в этом и был смысл явного указания типа...

Добавлено через 2 минуты
zer0mail,
http://forum.3dnews.ru/showthread.php?t=47829
zer0mail
2308 / 1934 / 192
Регистрация: 03.07.2012
Сообщений: 6,924
Записей в блоге: 1
22.09.2013, 12:43     Не происходит конвертация типа int в float #7
1 float dr = r / 255; целое, а float dr = (float)r / 255; - дробное
2. Если есть функция f(float x) и n-целое, то f(n) даст ошибку компиляции, а f((float)n) "проканает".

Добавлено через 3 минуты
NanoChely, вставь пример по своей ссылке в программу и посмотри, что получается Меня не интересуют ссылки, где бла-бла, меня интересуют примеры с работающим кодом C++
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2013, 12:47     Не происходит конвертация типа int в float
Еще ссылки по теме:

Конвертация qint64 в int и обратно C++
C++ Конвертация int в char
Конвертация переменной типа string в массив int C++
Конвертация типов. float в string/char C++
C++ Как число типа 2.88007e+018 привести в обычный int, float или просто вывести

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

Или воспользуйтесь поиском по форуму:
NanoChely
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 48
22.09.2013, 12:47  [ТС]     Не происходит конвертация типа int в float #8
Спасибо, я уже во всем разобрался. Мне просто не нравиться в c++, что по каждой мелочи нужно создавать новую переменную. В данном случае изменился тип, все, чтоб получить результат нужно теперь создавать новую переменную.
Yandex
Объявления
22.09.2013, 12:47     Не происходит конвертация типа int в float
Ответ Создать тему
Опции темы

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