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

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

23.03.2018, 12:55. Показов 67683. Ответов 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
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,244
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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru