Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Разбиение дробного числа

562
15 сентября 2004 года
tarekon
175 / / 19.08.2003
Как можно разбить дробное число на мантиссу и порядок? Функция frexp() дает разбиение в двоичной системе, а нужно в десятичной(чтобы красиво вывести число типа x*10^y на экран). Компилятор - MS Visual C++ 6.0.
527
16 сентября 2004 года
pavor
275 / / 28.09.2003
Цитата:
Originally posted by tarekon
Как можно разбить дробное число на мантиссу и порядок? Функция frexp() дает разбиение в двоичной системе, а нужно в десятичной(чтобы красиво вывести число типа x*10^y на экран). Компилятор - MS Visual C++ 6.0.


Я делал это простым преобразованием строки, получаемой при sprintf(s, "%lg", value);

буква e заменяется на то, что надо

6.3K
16 сентября 2004 года
mefisto
26 / / 13.04.2004
Цитата:
Originally posted by tarekon
Как можно разбить дробное число на мантиссу и порядок? Функция frexp() дает разбиение в двоичной системе, а нужно в десятичной(чтобы красиво вывести число типа x*10^y на экран). Компилятор - MS Visual C++ 6.0.



Можно предложить такой алгоритм:

// этот x - для примера
double x = 0.00345126781243;
int order = floor(log10(x)); // находим порядок
double mant = x/pow(10,order); // находим мантису
// вот все!

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог