Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
drunkwolfs
9 / 9 / 6
Регистрация: 24.05.2013
Сообщений: 349
1

Деление двух int равно нулю

09.02.2016, 14:25. Просмотров 860. Ответов 4
Метки нет (Все метки)

делю 206 на 255
результат записываю во float, но переменная всегда имеет значение 0!
почему?
C++
1
2
3
int Height = 206;
int YMax = 255;
float iHeightLineStepY = Height/YMax;
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2016, 14:25
Ответы с готовыми решениями:

Определить, равно ли число (двумерного массива) нулю. Если равно, то вместо нуля записываем указанный символ
Вот что нужно написать кодом: сравнить, равно ли число (двумерного массива)...

Почему равно нулю?
Здравствуйте!У меня проблемы с кодом!Оно всегда равняется нулю,а должно к...

Время выполнения программы равно нулю
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { ...

Почему 100/102 равно нулю?
Когда на С++ считаю 100/102 с использованием флоат и дубль, он мне выдает 0,...

Разрешено ли деление на ноль, если числитель равен нулю
Разрешено ли деление на ноль, если числитель тоже ноль.

4
_Valera_
489 / 371 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
09.02.2016, 14:36 2
Лучший ответ Сообщение было отмечено drunkwolfs как решение

Решение

0 < 206/255 <1 по правилам приведения округляется к меньшему.

C++
1
float iHeightLineStepY = (float )Height/YMax;

http://cppstudio.com/post/5343/
1
Croessmah
++Ͻ
14611 / 8365 / 1576
Регистрация: 27.09.2012
Сообщений: 20,563
Записей в блоге: 2
Завершенные тесты: 1
09.02.2016, 14:37 3
Цитата Сообщение от drunkwolfs Посмотреть сообщение
почему?
потому что 1/2 == 0.
0
Игорь1986
121 / 114 / 57
Регистрация: 08.09.2014
Сообщений: 1,038
Завершенные тесты: 1
09.02.2016, 14:40 4
Короче говоря для того чтобы получать правильное число необходимо хотя бы одно из чисел или делимое или делитель привести к тому же типу который ты жаждешь получить вот и все
0
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
09.02.2016, 14:44 5
drunkwolfs, 1/2 означает, что int вызовет оператор деления для другого int: и вернёт int

C++
1
int operator/(const int left, const int right);
итого у вас выйдет
C++
1
float a = 0;
Одно из решений:
C++
1
float iHeightLineStepY = Height * 1.0f / YMax;
1
09.02.2016, 14:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2016, 14:44

Остановить цикл ввода последовательности, если введенное значение равно нулю.
В простую переменную последовательно вводятся числа. Окончание ввода 0. Сколько...

Как правильно создать массив из номеров элементов, значения которых равно нулю
Добрый день! Передо мной стоит следующая цель: создать новый массив из номеров...

Выведите массив на экран и найдите количество элементов, значение которых равно нулю
&quot;Данный двухмерный массив размерностью 5X4. Заполните его случайными числами с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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