![]() |
|
Модераторы: bsa |
![]()
|
|
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Такое наверно еще в школе проходили, но все забывается, и потом я не уверен, что вопрос для этого раздела.
Суть в том, что я не понимаю назначения приписки экспоненты: 1.234e+23 или 1.234e-23. Что вообще скрывается за этим E, знаками + и - и цифрой после них ? Вроде бы это означает "точность", но как это влияет на результат математических операций ? Это сообщение отредактировал(а) SABROG - 25.8.2008, 08:37 |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
это степень числох10 в -23 или +23 - называется число мантисса.
доп. инфа Добавлено через 2 минуты и 43 секунды для примера 1.234e+23 => 1.234 x 10 в 23 степени |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
SABROG, это научное представление числа. Если ты помнишь школу (институт и подобное), то там такое было. Что-то умножаешь, делишь, возводишь в степень и получаешь число с 10-ю знаками, чтобы их не рисовать делаю приписку 10^N, где N - степень десятки... В итоге даже квинтилион записывается вполне компактно.
|
|||
|
||||
| Ln78 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: нет Всего: 15 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
Если мне память не изменяет, это совсем не мантисса. http://ru.wikipedia.org/wiki/Экспоненциальная_запись |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
ну а если речь идет о представлении чисел с плавающей точкой в компьютере, то там то-же самое, только используются степени двойки а не 10
если, к примеру, мантисса равна 0xA000, а экспонента 0x03, то число равно: мантисса: 0xA000 = 10100000; S = 1*1/2 + 0*1/4 + 1*1/8 + .... = 0,625, экспонента: E = 1 >> 0x03 = 8 и в итоге: 0,625 * 8 = 5; это я описал способ кодирования нормализованных чисел, есть еще ненормализованные... плюс, разные типы используют разное количество бит под мантиссу и экспоненту. зы если где наврал - поправьте Добавлено @ 12:10 наоборот, это экспонента Добавлено через 2 минуты и 50 секунд ах да, еще 1 бит отводится под знак)) Это сообщение отредактировал(а) Lazin - 25.8.2008, 12:10 |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 27 Всего: 154 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 19 Всего: 306 |
а ну да экспонента. но суть таже что я описал.
мантиса несколько иное. 0,071 = 7,1 х 10 в -2 степени - вот мантисса. а 1.234e-23 - это конечно экспонента. мой косяк. старею |
|||
|
||||
| Ln78 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 274 Регистрация: 25.11.2006 Репутация: нет Всего: 15 |
Я потому и написал "не совсем строго", что заленился полностью расписывать стандарт представления чисел в компьютере, тем более, что к вопросу топикстартера это имеет не совсем прямое отношение. А так там для 32 и 64 битных чисел у мантиссы первую единицу не хранят, и то, что хранит показатель: экспонента +127 и +1023соответственно. Это сообщение отредактировал(а) Ln78 - 25.8.2008, 12:32 |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
А я не поленился и ещё в конце 2006 года описал его на этом форуме. В статье есть некоторые неточности, но в целом достаточно для того, чтобы понять сабж. Написано просто. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Я правильно понимаю, 1.234e+23 = 12596464673507940067985360,572693 (то что выдал виндовый Calc, умножил число на 10 и возвел в 23 степень) ? Отрицательную не знаю как вычислить...
|
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
Сначало возведение, потом умножение. Отрицательную делить надо. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 1 Всего: 91 |
Т.е. :
1259,6464673507940067985360572693 и 0,53652173913043478260869565217391 ? |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
1.234e+5 = 1.234 * 10 ^5 = 1.234 * 100000 = 123400
1.234e-5 = 1.234 / 10^5 = 1.234 / 100000 = 0.00001234 1.234e+3 = 1.234 * 1000 = 1234 1.234e0 = 1.234 * 10^0 = 1.234 * 1 = 1.234 Это сообщение отредактировал(а) bsa - 25.8.2008, 15:12 |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 2 Всего: 121 |
1.234e+23 == 123400000000000000000000000
1.234e-23 == 0,00000000000000000001234 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
![]()
|
| Правила форума "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. |