Форум программистов, компьютерный форум CyberForum.ru

Какой диапазон у переменных типа double ? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 120, средняя оценка - 4.83
Alex Z
27 / 1 / 0
Регистрация: 29.06.2011
Сообщений: 136
01.04.2012, 09:39     Какой диапазон у переменных типа double ? #1
В учебнике написано:
double _____ 8 байтов _____ от 2.2e-308 до 1.8e308
Насколько я понимаю, строчка
от 2.2e-308 до 1.8e308
означает:
от 2,2*10-308 до 1,8*10308
то есть числа типа double должны быть положительными.
Я написал:
C++
1
2
3
double x;
x=-45.6;
cout<<x;
И это нормально работает. Результат выводит на экран. Подумал, может опечатка в книге. Открыл другую, но там почти то же самое (только вместо 2,2 написано 1,7). Как это всё понимать? На практике double может быть отрицательным, а судя по учебнику - нет. Какой у него реально диапазон?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 09:39     Какой диапазон у переменных типа double ?
Посмотрите здесь:

C++ Исключить из списка динамических переменных элементы, не попадающие в заданный диапазон
C++ В массив типа double записываю целые числа (типа int), но ошибка не вылазиет!
C++ Ошибка: error LNK2001: unresolved external symbol "double __cdecl Akk(double,double,double)"
C++ функция принимает два параметра типа double и возвращает значение типа double
Можно ли из числа типа double получить 2 числа типа int? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
01.04.2012, 09:48     Какой диапазон у переменных типа double ? #2
http://en.cppreference.com/w/cpp/language/types
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
01.04.2012, 10:10     Какой диапазон у переменных типа double ? #3
http://en.cppreference.com/w/cpp/typ...ric_limits/max
оттуда же можно через функции посмотреть диапазон значений на вашей машине
Nick Alte
Эксперт С++
1590 / 982 / 115
Регистрация: 27.09.2009
Сообщений: 1,897
Завершенные тесты: 1
01.04.2012, 10:13     Какой диапазон у переменных типа double ? #4
Учебник написан коряво. Имелся в виду порядок величин, которые можно хранить в 8 байтах double. Эти величины с равным успехом могут быть положительными и отрицательными (под знак числа там отводится отдельный бит). Разумеется, нулевое значение там тоже можно хранить без проблем (более того, 0 кодируется как 8 нулевых байтов).
Петррр
 Аватар для Петррр
5916 / 3353 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
01.04.2012, 10:27     Какой диапазон у переменных типа double ? #5
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <limits>
 
int main()
{
    std::cout << std::numeric_limits<double>::max() <<
        std::endl;
    std::cout << std::numeric_limits<double>::min() <<
        std::endl;
    return 0;
}
Yandex
Объявления
01.04.2012, 10:27     Какой диапазон у переменных типа double ?
Ответ Создать тему
Опции темы

Текущее время: 20:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru