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

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

Восстановить пароль Регистрация
 
NanoChely
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 48
22.09.2013, 12:26     Не происходит конвертация типа int в float #1
C++
1
2
int r = 130;
r = (float)r/255;
r равен 0. Почему не произошла конвертация типа?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zer0mail
2182 / 1865 / 187
Регистрация: 03.07.2012
Сообщений: 6,628
Записей в блоге: 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
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
22.09.2013, 12:28     Не происходит конвертация типа int в float #4
C++
1
2
int r = 130;
float dr = r / 255.f;
Цитата Сообщение от NanoChely Посмотреть сообщение
Я видел примеры, на форумах неоднократно, где такой вариант использовали.
Видеть то ты видел, но скорее всего не так переписал.
zer0mail
2182 / 1865 / 187
Регистрация: 03.07.2012
Сообщений: 6,628
Записей в блоге: 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
2182 / 1865 / 187
Регистрация: 03.07.2012
Сообщений: 6,628
Записей в блоге: 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
Еще ссылки по теме:

C++ На вход подается число (int или float) в зависимости от его типа провернуть над ним разные операции
C++ Ошибка: "Значение типа float нельзя присвоить сущности типа int"
Конвертация переменной типа string в массив int C++

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

Или воспользуйтесь поиском по форуму:
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
Ответ Создать тему
Опции темы

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