long double



C long

Автор Вася Иванов задал вопрос в разделе Другие языки и технологии

(long double) C++ и получил лучший ответ

Ответ от Кrab Bark[гуру]
В Borland C++ с long double не работал, но, во-первых, в любом типе в плавающей точкой число хранится в двоичном виде, а не по десятичным цифрам, так что в 4 битах нецелое число (точнее, 1,6) десятичных цифр, а во-вторых, надо еще учитывать, что часть битов представления числа отводится на информацию о его знаке и порядке. Причем скорее всего в long double увеличен размер представляемых порядков, так что точность самого числа (мантисса) растет не на много.

Ответ от Alex[гуру]
это все из за особенностей представления чисел в памяти вот нашел более менее норм ссылку ссылка .ru/Cod/cod.html
вот еще ссылка, тут прям рисунок представления числа есть ссылка .hut .ru/Demenev/files/predstav.htm

Ответ от Александр Ильин[гуру]
Все правильно. Тут ни лонг, ни супер-пупер-лонг-дабл не спасет. Двоичное представление имеет ограниченную точность. И в математике с FP надо всегда это иметь в виду.
Т. е. , проще говоря, if (x = 1.0) неверно. Надо if (abs(x - 1.0) < epsilon) , где epsilon - некая допустимая для Вашей задачи погрешность.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: (long double) C++
Типы данных в C на Википедии
Посмотрите статью на википедии про Типы данных в C
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*