У меня есть указатель на строку в C, который имеет данные bigint.Работа с двойным типом данных работает на окнах, но не на linux
например 9223372036854775807
т.е. 2^63
Я хотел бросить это в два раз, но, как вы знаете, двуспальный доступных для хранения в дробной части остальных бит discarded.so вышеупомянутого числа, которое очень 15/16 цифры большой будет отлит до 9.22337203685476E+18
т.е. 922337203685476000
.
Это позволяет сравнить исходное значение и несоответствие значений отливки. Это обычно происходит на платформе Linux. Дело в том, почему этого не происходит в Windows?
Является ли он зависимым от компилятора или что-то, что мне неизвестно. ?
Я согласен с тем, что число не может быть представлено двойным, но когда сравнение его в Windows является успешным, а в Linux - провалом? – user2239409