С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/352: Рейтинг темы: голосов - 352, средняя оценка - 4.99
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456

Количество знаков после запятой double, Long double

23.03.2018, 12:55. Показов 67343. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть число большой точности A.
A=-1.768573656315270993281
742915329544712934120053405549882
337511135282776553364635382011977
933536332198647808795874576643230
034448609820608458844529169083285
379260833581131961323480667495949
838043253626912240448884745364662
8324959064543;

Какой тип переменных вмещает их как константы? Сколько можно чисел после запятой?

Double 308 знаков после запятой?
Long double 4932?
Не ругается максимум на 125 символов после запятой для double в компиляторе Visual Stdio 2008 , где еще половина?

Какое самое малое число можно разделить на 1000 не превышая точность Long double?
Рисую фракталы, мне нужна точность. Процессор 32 bit.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2018, 12:55
Ответы с готовыми решениями:

Какая функция определяет количество знаков после запятой переменной double?
У меня есть программа, которая считает сумму ряда, в неё вводится значение x, точность, с которой определяется значение ln(x) и по формуле...

Подсчет знаков после запятой в переменной double
Не получается, так как в double числа хранятся не точно, и на моменте, когда i == 3345333, d == 3345333.0000000004 и программа...

Как вывести double до 2 знаков после запятой?
Нужно вывести число до 2 знаков после запятой. Попробовал так: 1) round(a*100)/100; 2) out.precision(2); out<<a; ...

7
Модератор
Эксперт С++
 Аватар для zss
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
23.03.2018, 18:42
Цитирую MS:
DBL_MAX 1.7976931348623158e+308 Maximum value
Как видите, всего 16 знаков после запятой.
А 308 - это степенной показатель, т.е
1.7976931348623158*10308
Если нужно просто хранить такие числа, то пишите их в строковый массив, или в string.
А для вычислений нужно использовать специальные пакеты длинной арифметики.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
23.03.2018, 19:25  [ТС]
Какие 16 знаков, остальное рандомный мусор? Как это? Зачем они тогда?
32 бит процессор это 4 байтный т.е. float его родной формат и тратит он наверно 1 такт.
float
-3.4*10^32 до +3.4 *10^32
32 знака после запятой а не 16.

double
-1.7*10^308 до +1.7*10^308
308 знака после запятой.
Т.е. вычисления возможны в этих диапазонах а не до 16 знаков после запятой.
Спец. либы для длинной арифметики это наверно для чисел больше long double 10 байт.
Где много тактов идет на например сложение двух чисел.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
23.03.2018, 20:09
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Какой тип переменных вмещает их как константы? Сколько можно чисел после запятой?
https://en.wikipedia.org/wiki/Long_double
An exception is Microsoft Visual C++ for x86, which makes long double a synonym for double.
Не поддерживает ваша Visual Studio тип long double, вместо него под его именем используется обычный double.

Добавлено через 6 минут
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Какие 16 знаков
Примерно 16 десятичных знаков.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Есть число большой точности A
Нужна либа, которая понимает и длинную арифметику, и плавающую точку. Потому что обычно длинная арифметика пишется для целых чисел (т.е. нет динамически меняющегося степенного множителя).
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
23.03.2018, 20:14
Excalibur921, тебе же сказали, что это не количество знаков, а степень. Просвещайся, как вещественный формат устроен. Тебе long double не поможет с такими длинными числами.
0
1472 / 827 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
23.03.2018, 20:24  [ТС]
TRam_,
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Какие 16 знаков, остальное рандомный мусор? Как это? Зачем они тогда?
Причем тут 16 знаков вообще? Так я могу считать числа если два заданы до 25 и 27 знака? Если ответ входит в диапазон double то все ок? А если нет? Будет INF предупреждение или что то такое?

Цитата Сообщение от TRam_ Посмотреть сообщение
место него под его именем используется обычный double.
Что это за развод такой хитрый… или из-за Express в названии? Pro версия поддерживает?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
23.03.2018, 20:29
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Pro версия поддерживает?
Нет. Это особенность компилятора Microsoft. У long double 19-20 значащих цифр. Не намного больше.
1
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
23.03.2018, 20:51
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Так я могу считать числа если два заданы до 25 и 27 знака?
Нет. Они просто не зададутся и округлятся до того, что вмещается в число. Если скомпилируются, конечно.

А в первом посте у тебя вообще-то около 220-250 значащих цифр. То есть ~ в 10 раз больше, чем есть в long double даже там, где он полностью поддерживается.

Добавлено через 2 минуты
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Будет INF предупреждение или что то такое?
Никаких предупреждений. Просто округление при задании в переменную и при выполнении арифметических операций.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2018, 20:51
Помогаю со студенческими работами здесь

Точность в N знаков после запятой числа типа double
Добрый день, уважаемы форумчане! Возникла проблема, заключающаяся в изменении значения, получающегося в результате выполнения функции...

Как отображать у double больше знаков после запятой?
Что-то забыл как это сделать :(

исправьте ошибку!округлить double до 2-х знаков после запятой
округлять,не используя math.h #include "stdafx.h" #include <stdio.h> int main () { double i; printf ("i="); ...

Сколько Знаков после запятой имеет тип double и почему при выводе они отбрасываются
Здравствуйте! Написал функцию по расчету квадратного корня от числа. Функция работает стабильно, однако заметил, что при выводе...

Тип double и количество символов после запятой
Здравствуйте, уважаемые я дико нуб, поэтому помогите чем можете ) суть такова: тип переменной double необходимо сделать так,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru