![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mes |
|
||||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
да
просто не проявляется в этих условиях.. Добавлено через 1 минуту и 21 секунду
зачем запрещать если оно делает, что требуется ? |
||||||
|
|||||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что-то я не уверен, что подразумевается под "оно делает, что требуется" |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
||||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
неопределенность.
получить бы еще ссылку на стандарт, где говорится об этой ситуации.. |
|||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
различие бинарного представления ?
http://habrahabr.ru/post/112953/ Добавлено @ 12:05
гугль по IEEE 754 Добавлено через 2 минуты и 39 секунд та неопределенность о которой вы говорите свойственна всем вещественным числам, так что запретить придется даже флоат Это сообщение отредактировал(а) mes - 28.5.2012, 12:06 |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ааа, тогда получается все нормально
всем спасибо. вопрос закрыт. |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
эт точно. сделай вместо
и получишь отличие уже на float http://liveworkspace.org/code/07bd52329043...118e1e6853568cc -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Это актуально только для текстового представления. Бинарно же не будет вариаций типа 1.000e+1 / 0.100e+2 / 0.010e+3 , потому как числа с плавающей точкой не хранят позицию запятой и всегда сохраняются в одной форме. Думаю если сериализовать в бинарную форму, то после десериализации получим данные в точности. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
Да. Бинарная сеарелизация всё решит. Однако, совпадать будут только значения массива arr[ i ]-тые, а memcmp также может не совпадать. Я сделал, как Вы и говорили (заполнил массивы только не 0101010, а первый 0x00, а второй 0xFF). Вот рез-ты http://liveworkspace.org/code/15f9eee08561...1d39b81dc15fa51 хмм. обнаружил интересную деталь: обычное присвоение long double (т.е. если вместо вытаскивания из stringstream'а сделать lda2[i] = lda1[i] ) копирует весь long double включая 0x00 на "незаполненных" местах, а вытаскивание из stingstream'а - нет -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
||||
|
||||
| mes |
|
||||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну это естественно, что проблема возникает на стыках конвертации.. как может отличаться бинарное представление, если оно же и сохранено
не понял .. копирование просто копирует бинарное представление, а стрим конвертирует в/ из строки.. в чем нестыковка то ? |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Я вижу только 2 байта заполненные FFFF вместо 6ти... Аа ну да. Этот компилятор определяет sizeof(long double) как 12 байт. 12 - 10 = 2 . Тогда вроде все как и ожидалось. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |