![]() |
|
Модераторы: bsa |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
У мат. сопроцессора x87, всю жизнь, еще с допотопных времен и по сей день внутренняя разрядность 80 бит, т.е 10 байт. Добавлено через 1 минуту и 50 секунд тынц |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
так и есть в допотопной книге long double = 80 бит.
Если не верите могу гденить запустить старый Borland там он тоже покажет 80 бит. -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| Compositum |
|
|||
|
Senior developer ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 430 Регистрация: 6.1.2008 Где: Санкт-Петербург Репутация: нет Всего: 1 |
я верю |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Народ. Это же выравнивание!!! 64-х битному процессору значительно проще работать с данными, кратными 8-ми байтам. В противном случае, ему приходится делать несколько операций чтения из памяти, если данные находятся на границе 64-х битных ячеек. Скорее всего лишние 6 байт просто не используются.
|
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
тоже так думал, т.к. кроме 128-ми битных XMM-регистров (да и то, в них по 2 double) больше 80 бит не слышал, однако: http://liveworkspace.org/code/c627a9ab4f36...2f8a18e1793ac52
выдаёт
??? Это сообщение отредактировал(а) borisbn - 12.5.2011, 12:50 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
borisbn, разве на мусор не смахивает?
|
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
bsa, не особо:
и потом, я обнуляю все 128 бит
наверное, есть что-то, чего мы не знаем -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
borisbn, посмотри ассемблер. Не удивлюсь, если происходит загрузка в штатные 64-х битные регистры результата, а затем уже они записываются в память.
|
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
bsa, в gcc посмотреть не могу, т.к. пользую liveworkspace, а в MSVC не могу, т.к.
MSDN:
P.S. На liveworkspace вообще ничего не понимаю:
даёт 12 Это сообщение отредактировал(а) borisbn - 12.5.2011, 14:55 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
borisbn, ну вот видишь. Система лайфворкспейса 32-х битная. А там используется выравнивание 4. Поэтому long double и получился размером 12 байт. А то, что в начале мусор - так это же кусок стека!
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
bsa, я как увидел 12 байт сразу понял... ( ну... почти сразу
Спасибо за консультацию. Это сообщение отредактировал(а) borisbn - 12.5.2011, 15:20 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
счетчик цикла _отражен_ в другой переменной ? а чем это не мусор ?! нельзя ли теперь для остального народа озвучить, к каким выводам пришли в процессе активного обсуждения ? а то чего то не собиру в одно целое все сказанное.. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
Фактическая длина встроенной плавающей арифметики не может превышать 80 бит. То что в некоторых системах сайз оф лонг дабл показывает 12, 16, и т.д - это округленная длина, за счет выравнивания. Фактически используется только 10 байт. В остальных байтах находится незначащий мусор. Имхо выводы такие. Поправьте если ошибся. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 21 Всего: 135 |
> Имхо выводы такие. Поправьте если ошибся.
Имхо точнее не скажешь Хотя, то, что длина лонг дабла именно 80 бит - это вывод по многочисленным книгам и статьям, а не из проведённых экспериментов, но не верить этим источникам у меня лично оснований нет Это сообщение отредактировал(а) borisbn - 13.5.2011, 06:38 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |