2 / 2 / 0
Регистрация: 13.05.2015
Сообщений: 45
1

Разъяснение float f = 1.2F;

19.05.2015, 13:05. Показов 8081. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вчера читал статью про C++ и встретил код, написанный следующим методом float f = 1.2F; и пришел в замешательство.
Переменная f принадлежит типу float, значит, f может содержать значение с плавающей точкой. Зачем тогда в значении 1.2F указан спецификатор F? В чем логика, не пойму?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2015, 13:05
Ответы с готовыми решениями:

опять ошибка.на этот раз cannot convert `float (*)(float)' to `float' in argument passing
#include<stdio.h> #include<stdlib.h> #include<math.h> float f1(float x)/*vira*enie 1*/ ...

Не понимает Dictionary<string, (float[][] train, float[][] valid, float[][] test)> DataSet;
Доброго времени суток. Пытаюсь запустить пример по работе с библиотекой. Не понимает конструкцию ...

Чем отличаются float преобразования (float)var от float(var)
Здравствуйте! Подскажите, чем отличается (float)var от float(var)

Error C2664: fmatr: невозможно преобразовать параметр 1 из 'float [4][4]' в 'float *'
#include &quot;stdafx.h&quot; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; /* Описание функции fmatr */ void...

5
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,686
Записей в блоге: 1
19.05.2015, 13:12 2
Цитата Сообщение от Putnic Посмотреть сообщение
Зачем тогда в значении 1.2F указан спецификатор F? В чем логика, не пойму?
1.2 - это литерал типа double
1.2f - литерал типа float
Разъяснение float f = 1.2F;
1
2 / 2 / 0
Регистрация: 13.05.2015
Сообщений: 45
19.05.2015, 13:19  [ТС] 3
Цитата Сообщение от Croessmah Посмотреть сообщение
1.2 - это литерал типа double
1.2f - литерал типа float
float f = 1.2; - в данном случае, если в значении 1.2 не указать спецификатор F, то 1.2 будет тип double. А какую функцию тогда выполняет float?
0
Неэпический
17848 / 10616 / 2049
Регистрация: 27.09.2012
Сообщений: 26,686
Записей в блоге: 1
19.05.2015, 13:26 4
Цитата Сообщение от Putnic Посмотреть сообщение
А какую функцию тогда выполняет float?
float это тип переменной, а суффикс F - это тип литерала.

Для примера:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
void foo(float)
{
    std::cout << "foo(float)\n";
}
 
void foo(double)
{
    std::cout << "foo(double)\n";
}
 
 
int main()
{
    foo(1.7);//Вызов функции foo с параметром типа double
    foo(1.7f);//Вызов функции foo с параметром типа float
}
http://rextester.com/VTTWM15738
1
2 / 2 / 0
Регистрация: 13.05.2015
Сообщений: 45
19.05.2015, 13:57  [ТС] 5
Цитата Сообщение от Croessmah Посмотреть сообщение
float это тип переменной, а суффикс F - это тип литерала.
Если возможно, объясните пожалуйста на каком-нибудь примере, какая практическая польза от суффиксов?
0
Модератор
Эксперт С++
13416 / 10524 / 6287
Регистрация: 18.12.2011
Сообщений: 28,106
19.05.2015, 14:02 6
В данном случае польза в том, что компилятору не надо преобразовывать константу типа double во float.

А в принципе, я вообще не вижу необходимости пользоваться переменными типа float.
Современные процессоры работают с double. Соответственно, будут только лишние преобразования float-double-float
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2015, 14:02
Помогаю со студенческими работами здесь

В чём разница между константами Float.MIN_VALUE и Float.MIN_NORMAL?
Никак не могу понять, в чём разница между константами Float.MIN_VALUE и Float.MIN_NORMAL класса...

Ошибка при создании трех колонок (float:left, float:right и margin:0 auto;)
3-й час бьюсь, но никак не могу понять, что не так делаю. почему оранжевый блок опускается? ...

Минимальное значение для float не соответствует константе из float.h
В K&amp;R в самом начале второй главы есть упражнение 2.1, которое звучит следующим образом: В...

Отследить переполнение при делении float/float
Кто-нибудь, подскажите пжл, алгоритм деления float/float на ЯВУ.


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

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

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