1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
||||||
1 | ||||||
Результат преобразования int в float24.10.2015, 17:12. Показов 2911. Ответов 31
Метки нет (Все метки)
Доброго времени суток,пример
Вопрос в том что,по математике, при делении целого числа на 10, получается значение с одним знаком после запятой,а у меня иногда выводит больше чем один. Как так,что сделать?
0
|
24.10.2015, 17:12 | |
Ответы с готовыми решениями:
31
ОШИБКА [Error] cannot convert 'int*' to 'float*' for argument '1' to 'void Syma(float*,int*,int) Неверный результат при преобразования типов данных static_cast<int>(double) Функции float average(int arrray[],int from,int to) Чем отличаются float преобразования (float)var от float(var) |
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
24.10.2015, 17:15 | 2 |
Во-первых, не используй древний тип float, только double. Во-вторых, у вещественных форматов есть погрешность представления. Это нормально.
0
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
|
24.10.2015, 17:40 [ТС] | 3 |
Тогда следует другой вопрос, как сократить результат до одного знака после запятой?
0
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
24.10.2015, 17:43 | 4 |
0
|
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
24.10.2015, 17:49 | 5 |
rikimaru2013, Ну он наверно имеет ввиду допуск к памяти
nmcf, Не путай человека, не следует использовать более "тяжелые" типы данных если хватает менее затратных. Это равносильно как убивать комара кувалдой!
0
|
24.10.2015, 18:01 | 6 |
А что не так с допуском к памяти у float?
Добавлено через 4 минуты Зачем такое советовать? Это разные типы, у них разные размеры и разная точность, и скорость работы с float будет гарантировано не более (если, конечно, это не эмуляция) чем с работой с double. Некоторые люди даже специально вводят half_float (16 бит) для своих нужд. Этого говорит о том что выбирать вещественный тип необходимо от потребности, и востребованы бывают все.
0
|
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
|
|
24.10.2015, 18:02 | 7 |
castaway, Да все там хорошо, но если вспомнить спецификацию к типам данных то double равен или больше float. Соответственно может кушать больше памяти. Если хватает float то зачем нагромождать!
0
|
Mesteriis
|
24.10.2015, 18:08
#9
|
Не по теме: castaway, Ну вот, я даже помню у нас учитель информатики говорил что вместо int пишите всегда long а то вдруг что))) даже бал снижал за использования int))), после этого я все понял о качестве нашего теперешнего образования!
0
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
|
24.10.2015, 18:32 [ТС] | 10 |
0
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
|
24.10.2015, 19:02 [ТС] | 12 |
0
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
|
24.10.2015, 19:23 [ТС] | 14 |
[C++ Error] myPR_cpp.cpp(139): E2316 'cout' is not a member of 'std'
[C++ Error] myPR_cpp.cpp(139): E2316 'endl' is not a member of 'std' Вот реакция на код..
0
|
1 / 1 / 0
Регистрация: 25.09.2015
Сообщений: 25
|
|
24.10.2015, 19:30 [ТС] | 16 |
Вот теперь всё работает. Спасибо.
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
24.10.2015, 21:01 | 17 |
Потому что его любили в старых книжках.
Какой сейчас год? О каких затратах речь? double - базовый вещественный тип, предложите ещё short вместо int использовать - для экономии.
0
|
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
|
|
24.10.2015, 21:18 | 18 |
Неправильно, наверное, говорить старый тип или новый. Мощные сейчас компьютеры или не мощные. Если Вам нужно передать по сети 1000000 значений в секунду с плавающей запятой, но Вам не нужна точность более чем 3 знака после запятой, то есть все-таки смысл использовать float - сэкономите ни много ни мало почти что 1 мБ трафика в секунду.
Второй пример, int (4-х байтный) - самый распространенный тип данных для хранения целочисленных данных. Float же удобен тем, что занимает также 4 байта. Это очень удобно и используется в протоколах передачи данных. Все типы нужны в каких-то конкретных случаях. С тем же успехом можно сказать "зачем тебе bool, он устарел, используй double". Тем более человек только учится...
0
|
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
24.10.2015, 22:13 | 19 |
Он ничего по сети не передаёт, и ничего не сэкономит.
int cамый распространённый? Как ты это определил? Совсем недавно он 16-битным был.
0
|
Модератор
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
|
|
24.10.2015, 22:24 | 20 |
float хорош когда нет сопроцессора
тогда он занимает 4 байта, библиотеки меньше но в когда он запихивается в сопроцессор, то растягивается до double(8 байт) а то и long double(10 байт) так что, что использовать нужно каждый раз решать в зависимости от задачи Добавлено через 1 минуту когда процессоры 16 битные были правда когда пошли 64 битные, то int 64 бита не сделали Добавлено через 1 минуту интересное заявление bool один из самых молодых типов, а во вторых что между ними общего?
0
|
24.10.2015, 22:24 | |
24.10.2015, 22:24 | |
Помогаю со студенческими работами здесь
20
Ошибка преобразования float в float* Почему при умножении разнотипных переменных (например, float и int) получается int? Как происходит преобразование int<<float<int Если результат деления int на int есть тип float Перевод Int/FLoat -> QByteArray -> Int/Float КВИТАНЦИЯ (номер – int, дата – int, сумма – float) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |