83 / 18 / 2
Регистрация: 17.11.2010
Сообщений: 107
1

Если результат деления int на int есть тип float

09.01.2011, 09:09. Показов 29804. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две ситуации:


C++
1
2
3
4
5
6
7
int a = 10;
int b = 3;
c = a/b;
// через несколько строчек тоже самое но с другими значениями
int a = 20;
int b = 4;
c = a/b;
каким типом стоит инициализировать переменную c?

А если c уже инициализирована, и конкретном случае а и b принимают ниже стоящие значения
C++
1
2
3
4
int c;
int a = 10;
int b = 3;
c = a/b;
с будет округленно, а как сделать чтобы не округлялось? Я помню вроде есть оператор который блокирует это округление, заставляет пренебречь типом упомянутым при инициализации
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2011, 09:09
Ответы с готовыми решениями:

ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int)
Какая то проблема с указателями,незнаю,не хочет щитать суму парних чисел в второй...

Зачем преобразовывать itsVal в int, если эта переменная и так объявлена как тип int
// Оператор преобразования #include <iostream> using namespace std; class Counter { public:...

Функции float average(int arrray[],int from,int to)
Напишите код функции float average(int arrray,int from,int to). Возвращаемым значением функции...

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int...

4
4431 / 2369 / 854
Регистрация: 29.11.2010
Сообщений: 5,243
09.01.2011, 10:16 2
Результат деления целого числа на целое будет целочисленный. Не округленный, а обрезаный. )
Чтобы результат был не целочисленный, нужно привести делимое или делитель к не целочисленному типу. Например.
C++
1
2
3
int a = 5;
int b = 2;
float c = a / static_cast<float>(b);
0
LK
Заблокирован
09.01.2011, 10:25 3
Цитата Сообщение от lemegeton Посмотреть сообщение
C++
1
2
3
int a = 5;
int b = 2;
float c = a / static_cast<float>(b);
- в том и проблема, что ему неизвестно, будет ли результат float , и объявлять он хочет
Цитата Сообщение от y_katz
C++
1
2
3
int c; // !!!
int a = 10;
int b = 3;
0
4431 / 2369 / 854
Регистрация: 29.11.2010
Сообщений: 5,243
09.01.2011, 10:42 4
К.О. сообщает, что в целочисленных типах не хранятся данные с плавающей запятой.
0
LK
Заблокирован
09.01.2011, 11:31 5
Цитата Сообщение от lemegeton Посмотреть сообщение
К.О. сообщает, что в целочисленных типах не хранятся данные с плавающей запятой.
- вот и я том же, но человек мечтает о магическом преобразовании типов. Хотя этим
Цитата Сообщение от lemegeton
C++
1
float c = a / static_cast<float>(b);
Вы, в общем-то, дали ответ на вопрос
Цитата Сообщение от y_katz
каким типом стоит инициализировать переменную c?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.01.2011, 11:31
Помогаю со студенческими работами здесь

Ошибка: cannot convert 'int (*)[50]' to 'int*' for argument '1' to 'void vvod2m(int*, int*, int*, char)'Х2
Матрицы An1*m1 и Bn2*m2 вводить с клавиатуры (размерности &gt;3, m1=n2). Выполнять через подпрограммы....

Результат преобразования int в float
Доброго времени суток,пример unsigned int sande1=0,sande2=0; void TForm1::mat_tt(){ float...

Перевод float в int. Неверный результат
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; int main() { float D; int Y;...

Не удается преобразовать тип float в int
Так и не могу найти проблему при объявлении массива float (ошибка 6 строчка), а при значении типа...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru