![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
В С++ имеется тип переменных как float так и double. Переменные типа double могут хранить значения на много больше ежели переменные типа float, и с большей точностью.
Возник вопрос. Зачем тогда нужен тип float вообще? |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
||||
|
||||
Cheloveck |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1578 Регистрация: 26.7.2008 Где: Тула Репутация: 5 Всего: 32 |
Боюсь, что это не совсем так.
В любой версии стандарта. Вот первый попавшийся в гугле http://www.open-std.org/jtc1/sc22/wg21/doc.../2005/n1905.pdf
-------------------- ![]() |
||||
|
|||||
volatile |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
ну само имя double - что-то да значит (смотрите перевод, если что... ![]() Ну и в реале, так оно и есть почти везде.
в стандарте об этом ничего конктретного, как всегда не говорицца... ![]() Так что смотреть стандарт - терять время. Нужно смотреть доку компилятора или чтоб не морочить долго голову, просто написать небольшую программку, и все сразу станет ясно.
http://codepad.org/byh5i3L2 Добавлено через 4 минуты и 19 секунд В студии, кстати, точно также. |
||||
|
|||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Cheloveck, так там написано же что мол каждый последующий из типов float - double - long double хранит значение переменных большей величины.
Множество значений float является подмножеством значений double, и множество значений double является подмножеством значений long double. floatiing-point определяемые-реализацией... Это что за такое? Integral и floating-типы называются более верно арифметическими типами. Согласно специализации классов std::numeric_-limits 18.2 определены максимальные и минимальные значения каждого арифметического типа согласно их применения. Перешёл я в ту спецификацию 18.2 и не нашёл там рамок для соответствующих типов данных. Поясните, пожалуйста, как это правильно искать там? |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
hoz, мою програку смотрели на codepad.org, там показано как использовать numeric_limits
Сам стандарт, как я уже говорил, никаких границ не дает. Все зависит от реализации компилятора. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
грубо означает что нужно смотреть не в стандарт языка, а в стандарт который выбрала реализация, например сюда : http://ru.wikipedia.org/wiki/IEEE_754-2008 |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
Стрго говоря, (раз уж здесь все так офигенно стрго, как я погляжу). Нужно сначала выяснить в той же доке компилятора, что он использует именно IEEE_754-2008 в качестве реализации плавющих типов. Что вовсе не обязательно. А уже потом, при положительном ответе, можно и смотреть туда, куда вы указали. только сколько это все займет время у новичка интересно... ![]() |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
да, правда что ли ? но простите, а я что написал ?? или опять упреки в софистике посыплятся ? |
|||
|
||||
hoz |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Хм. Я пока что Ваш код не совсем понял, хотя с большего, конечно, логика проста. Но С++ изучаю пока что с нуля (после примитивного mql4), так что сложновато на данном этапе. Вот, есть момент.
Переменная size указывает на количество символов в значении, верно? А range, как видно диапазон. Тока вот что значит запись 1.17549e-38 не понимаю.. |
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
как это соотносится с вопросом на который и был ответ ? или Вы предлагаете кому то другому посмотреть доку компилятора новичка и определить нужный стандарт ? не пойму только кому... Добавлено через 4 минуты и 4 секунды https://ru.wikipedia.org/wiki/%D0%AD%D0%BA%...%B8%D1%81%D1%8C |
|||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Не предлагаю, я писал тот пост до того как volatile ответил. Но меня реально грузит всё это. Такое ощущение, что там всё спецом так запудрили. Лезть в доку компилятора я и не собирался. Раньше я даже не знал, что придётся... |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
hoz, ![]() Добавлено через 2 минуты и 10 секунд да потому что в принципе в первую очередь операции с плаваюшей запятой зависят от процессора, а не языка.. |
|||
|
||||
hoz |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 27.6.2013 Репутация: нет Всего: нет |
Так странно. Если:
Получается, что sizeof возвращает размер его операнда, а range согласно коду диапазоны макс. и мин. Но size=4, а у range размеры огромных пределах, я даже не представляю себе эти числа. Но там далеко не 4... (для float). Как это понимать? Это сообщение отредактировал(а) hoz - 14.7.2013, 01:13 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |