Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Числа с плавающей точкой (запятой?), одинарной, двойной точности 
V
    Опции темы
SABROG
Дата 25.8.2008, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 1
Всего: 91



Такое наверно еще в школе проходили, но все забывается, и потом я не уверен, что вопрос для этого раздела.

Суть в том, что я не понимаю назначения приписки экспоненты: 1.234e+23 или 1.234e-23. Что вообще скрывается за этим E, знаками + и - и цифрой после них ? Вроде бы это означает "точность", но как это влияет на результат математических операций ?  smile 

Это сообщение отредактировал(а) SABROG - 25.8.2008, 08:37


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
mrbrooks
Дата 25.8.2008, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



это степень числох10 в -23 или +23 - называется число мантисса.

доп. инфа

Добавлено через 2 минуты и 43 секунды
для примера 1.234e+23  => 1.234  x 10 в 23 степени
PM MAIL   Вверх
bsa
Дата 25.8.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



SABROG, это научное представление числа. Если ты помнишь школу (институт и подобное), то там такое было. Что-то умножаешь, делишь, возводишь в степень и получаешь число с 10-ю знаками, чтобы их не рисовать делаю приписку 10^N, где N - степень десятки... В итоге даже квинтилион записывается вполне компактно.
PM   Вверх
Ln78
Дата 25.8.2008, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 25.11.2006

Репутация: нет
Всего: 15



Цитата(mrbrooks @  25.8.2008,  09:45 Найти цитируемый пост)
это степень числох10 в -23 или +23 - называется число мантисса.

То ли нечётко, то ли неправильно написано, но 23 в данном примере это совсем не мантисса. Это показатель степени; порядок; не совсем строго - экспонента. 
PM MAIL   Вверх
bsa
Дата 25.8.2008, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Ln78 @ 25.8.2008,  12:01)
Цитата(mrbrooks @  25.8.2008,  09:45 Найти цитируемый пост)
это степень числох10 в -23 или +23 - называется число мантисса.

То ли нечётко, то ли неправильно написано, но 23 в данном примере это совсем не мантисса. Это показатель степени; порядок; не совсем строго - экспонента.

Если мне память не изменяет, это совсем не мантисса.
http://ru.wikipedia.org/wiki/Экспоненциальная_запись
PM   Вверх
Lazin
Дата 25.8.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 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
Цитата(mrbrooks @  25.8.2008,  08:45 Найти цитируемый пост)
это степень числох10 в -23 или +23 - называется число мантисса.

наоборот, это экспонента

Добавлено через 2 минуты и 50 секунд
ах да, еще 1 бит отводится под знак))

Это сообщение отредактировал(а) Lazin - 25.8.2008, 12:10
PM MAIL Skype GTalk   Вверх
Lazin
Дата 25.8.2008, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 27
Всего: 154



PM MAIL Skype GTalk   Вверх
mrbrooks
Дата 25.8.2008, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 19
Всего: 306



а ну да экспонента.  но суть таже что я описал. 
мантиса несколько иное. 0,071 = 7,1 х 10 в -2 степени - вот мантисса. а 1.234e-23 - это конечно экспонента. мой косяк. старею  smile 
PM MAIL   Вверх
Ln78
Дата 25.8.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 25.11.2006

Репутация: нет
Всего: 15



Цитата(Lazin @  25.8.2008,  13:09 Найти цитируемый пост)
если где наврал - поправьте

Я потому и написал "не совсем строго", что заленился полностью расписывать стандарт представления чисел в компьютере, тем более, что к вопросу топикстартера это имеет не совсем прямое отношение. А так там для 32 и 64 битных чисел у мантиссы первую единицу не хранят, и то, что хранит показатель: экспонента +127 и +1023соответственно.

Это сообщение отредактировал(а) Ln78 - 25.8.2008, 12:32
PM MAIL   Вверх
W4FhLF
Дата 25.8.2008, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(Ln78 @  25.8.2008,  12:30 Найти цитируемый пост)
Я потому и написал "не совсем строго", что заленился полностью расписывать стандарт представления чисел в компьютере


А я не поленился и ещё в конце 2006 года описал его на этом форуме. smile 

В статье есть некоторые неточности, но в целом достаточно для того, чтобы понять сабж. Написано просто. 


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
SABROG
Дата 25.8.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 1
Всего: 91



Я правильно понимаю, 1.234e+23 = 12596464673507940067985360,572693 (то что выдал виндовый Calc, умножил число на 10 и возвел в 23 степень) ? Отрицательную не знаю как вычислить...


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
W4FhLF
Дата 25.8.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



Цитата(SABROG @  25.8.2008,  14:38 Найти цитируемый пост)
Я правильно понимаю, 1.234e+23 = 12596464673507940067985360,572693 (то что выдал виндовый Calc, умножил число на 10 и возвел в 23 степень) ?


Сначало возведение, потом умножение. 

Цитата(SABROG @  25.8.2008,  14:38 Найти цитируемый пост)
Отрицательную не знаю как вычислить...


Отрицательную делить надо.



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
SABROG
Дата 25.8.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 1
Всего: 91



Т.е. : 
1259,6464673507940067985360572693

и

0,53652173913043478260869565217391

?


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
bsa
Дата 25.8.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 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
PM   Вверх
W4FhLF
Дата 25.8.2008, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 2
Всего: 121



1.234e+23 == 123400000000000000000000000
1.234e-23 == 0,00000000000000000001234



--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.