Форум программистов, компьютерный форум CyberForum.ru

Экспонента и мантисса? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 134, средняя оценка - 4.96
AL
0 / 0 / 0
Регистрация: 20.09.2009
Сообщений: 6
20.09.2009, 19:26     Экспонента и мантисса? #1
Люди...помогите пожалуйста.

Объясните по подробнее о мантиссе и экспоненте. Желательно именно на СИ.
Просто вот в универ поступил, и нам дают лекции и практику по СИ(и только). А вот про мантиссу и экспоненту нам не рассказывают, с нас только спрашивают...мол мы должны знать это из школы всё такое. А я не в душе что это, ибо закончил общеобразовательную школу.=)

А конкретно тема у нас была про типы данных, ну знаковые незнаковые, всё такое.

Да, вот ещё, как сделать запись числа через экспоненту???

и ещё вопрос есть, выяснить какая часть откидывается(я сам толком не въезжаю о чем это)
знак_|_мантисса_|||_знак_|_Экспонента

P.S. гуглил и на вики смотрел, и юзал поиск сдесь, но толькового обьяснения не нашел.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.09.2009, 19:26     Экспонента и мантисса?
Посмотрите здесь:

C++ Порядок и мантисса параметра типа double
C++ Маленькая мантисса long double
Как записать (экспонента) C++
Экспонента в комплексной степени C++
C++ Экспонента
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Norby
 Аватар для Norby
64 / 64 / 2
Регистрация: 12.03.2008
Сообщений: 392
20.09.2009, 22:59     Экспонента и мантисса? #2
Экспонента - это математическая функция, также обозначаемая как exp. А мантисса это дробная часть числа, т.е. то что после десятичной точки.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
20.09.2009, 23:07     Экспонента и мантисса? #3
Экспонента - это наверное имеется в виду порядок.
http://ru.wikipedia.org/wiki/Экспоненциальная_запись

Не знаю что там тебе нужно делать с мантисой - изучи функции fcvt(), modf().
http://www.codenet.ru/progr/cpp/spru/fcvt.php
http://www.codenet.ru/progr/cpp/sprd/modf.php

Может еще atoi(), strol(), itoa().
AL
0 / 0 / 0
Регистрация: 20.09.2009
Сообщений: 6
21.09.2009, 17:59  [ТС]     Экспонента и мантисса? #4
Спасибо, но есть ли информация как в СИ допустим представить число в экспоненциальном виде?? ну тобишь 2.7Е+3 должно выводиться, а не 0.0027...мм??)
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
21.09.2009, 18:13     Экспонента и мантисса? #5
Флаги форматирования и манипуляторы
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
21.09.2009, 18:42     Экспонента и мантисса? #6
2M128K145: Там вроде только C++ ?

В языке С можно использовать printf( "%e", 0.0027 );
http://www.codenet.ru/progr/cpp/spru/printf.php
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
21.09.2009, 19:25     Экспонента и мантисса? #7
Цитата Сообщение от AL Посмотреть сообщение
как в СИ допустим
пропустил, согласен .

Не по теме:

odip, если не сложно, можешь подбросить
в ту тему запись на С?

accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.09.2009, 04:16     Экспонента и мантисса? #8
Цитата Сообщение от AL
Спасибо, но есть ли информация как в СИ допустим представить число в экспоненциальном виде??
C
1
    double n = 0.123e+3;
C
1
    double n = 123.0;
одинаково хранятся, то есть, и второе можно вывести в обеих формах, и первое
AL
0 / 0 / 0
Регистрация: 20.09.2009
Сообщений: 6
22.09.2009, 07:54  [ТС]     Экспонента и мантисса? #9
Спасибо всем, начинаю немного разбираться^^, буду пробовать!)
Teiz
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
28.03.2012, 00:14     Экспонента и мантисса? #10
Доброго времени суток.
Я только начал изучать С++ и мало что понимаю, если написал глупость прошу поправить.
Проблема следующая - нужно изменить вывод экспоненты с 123е+001 на 123е+01.
Заранее спасибо;
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.03.2012, 01:40     Экспонента и мантисса? #11
Цитата Сообщение от Teiz Посмотреть сообщение
нужно изменить вывод экспоненты с 123е+001
это где такой вывод ?
Teiz
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
28.03.2012, 02:05     Экспонента и мантисса? #12
C++
1
2
3
4
5
6
7
8
9
{
    char buff[256];
    ofstream out2;                                                                  
    out2.open(temp2name, ios_base::app | ios_base::out);
    for (int j = 0; j < 3; j++)
    {
        sprintf(buff, "% 13e% 13e% 13e% 13e% 13e% 13e% 13e% 13e% 13e", finalform[5][j], finalform[11][j], finalform[17][j], finalform[23][j], finalform[29][j], finalform[35][j], finalform[41][j], finalform[47][j], finalform[53][j]);
        out2 << buff << endl;
    }
Насколько я понимаю, нужно чтото счудить с 13e. Что именно я не знаю. Пол инета перерыл и люди говорял, мол, это от машины зависит
Результат данного куска кода:
Bash
1
-1.209046e-003-4.001953e-004 9.947106e-005 4.432998e-004 3.715893e-005 7.951631e-004 5.030989e-010 1.053988e-008 1.131979e-004
а нужно получить
Bash
1
-1.209046e-03-4.001953e-04 9.947106e-05 4.432998e-04 3.715893e-05 7.951631e-04 5.030989e-10 1.053988e-08 1.131979e-04
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.03.2012, 02:40     Экспонента и мантисса? #13
на экспоненту нельзя подействовать
можешь написать функцию, которая работает с полученной строкой, убирая ноль (если там ноль)

и у тебя ещё ошибка - ты думаешь, что пробел в спецификаторе всегда вставляет пробел перед числом, но это не так
пробел вставляется вместо знака плюс
Teiz
0 / 0 / 0
Регистрация: 22.01.2012
Сообщений: 6
28.03.2012, 03:01     Экспонента и мантисса? #14
Про замену плюса на пробел я знаю, код получился большой всего тут не вставиш . Жаль что нельзя изменить экспоненту, справляюсь заменой в блокноте е-0 е+0 на е- е+
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2012, 09:57     Экспонента и мантисса?
Еще ссылки по теме:

C++ Как в С++ оформить запись ln (логарифма по основанию е (экспонента)
C++ Экспонента в виде суммы сходящегося ряда
C++ Экспонента в степени

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
28.03.2012, 09:57     Экспонента и мантисса? #15
по идее, там должна быть строка в виде string и stringstream для её составления
а у строки string должен быть метод для замены вхождений, что-то вроде replace()
Yandex
Объявления
28.03.2012, 09:57     Экспонента и мантисса?
Ответ Создать тему
Опции темы

Текущее время: 21:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru