Int64 и double кто длиннее?
На днях задался интересным вопросом, как так получается, что в тип double можно запихнуть число с 300 знаками, а в Int64 всего 20 знаков?
оба типа данных занимают в памяти по 8 байт
Ответы (1 шт):
Автор решения: gbg
→ Ссылка
Потому что число в int хранится всегда точно, а в double - с погрешностью, причем при росте экспоненты, погрешность растет (что неудивительно, растет экспоненциально).
То есть, на деле, в числах с плавающей запятой хранятся не все знаки числа, а лишь первые несколько штук, и дополнительно хранится номер места среди этих знаков, где нужно поставить десятичный разделитель.
