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

Printf лжет при выводе чисел с плавающей точкой? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программа для предотвращения запуска определенных процессов во время работы приложения http://www.cyberforum.ru/cpp/thread1645344.html
Доброго времени суток. Я мало знаком с программированием в целом, и мне нужна помощь, может какие конкретные инструкции. Если точнее, то нужна программа, которая будет блокировать запуск определенных...
C++ Искусственный интеллект для мобов Доброго времени суток. Мне нужно написать искусственный интеллект для мобов в игре-платформере. Что можете посоветовать? С чего начать? О чем именно почитать гайды? http://www.cyberforum.ru/cpp/thread1645180.html
C++ Ошибка "неопределенная ссылка" при работе с std::thread
При попытке сделать что-либо с std::thread, выдает ошибку компиляции, "неопределенная ссылка " . К примеру: #include <iostream> #include <chrono> #include <thread> #include <mutex>
C++ Сравнение двух предложений по смыслу
Необходимо сравнить два коротких предложения по смыслу. Я так понимаю, нужно семантическое сравнение предложений. Как его можно реализовать? Есть какие-то бесплатные библиотеки?
C++ OpenCV с изображениями http://www.cyberforum.ru/cpp/thread1641813.html
Здравствуйте, приложил программу, картинка выходит за пределы окна, как это избежать? Итог должен получится такой, изображение должно поворачиваться под случайный угол не выходя за пределы окна. В...
C++ Не работает IplImage* Добрый день. Пытаюсь скомпилировать вот такой код: #include <cv.h> #include <highgui.h> #include <stdlib.h> #include <stdio.h> #include "stdafx.h" IplImage* image = 0; IplImage* src = 0; подробнее

Показать сообщение отдельно
Danvern
40 / 39 / 3
Регистрация: 22.06.2010
Сообщений: 415
Записей в блоге: 1
24.01.2016, 11:04  [ТС]
Заоптимайзил, может кому пригодиьтся
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
__forceinline void doubleToString(double v, char  * str, int  precision = 6){
    if(v == 0.0) {
        str[0] = '0';
        str[1] = '.';
        str[2] = '0';
        return;
    }
    if(v < 0.0) {
        str[0] = '-';
        v = -v;
    }
    
    int number = static_cast<int>(v);
    double exp = (v - static_cast<double>(number)) * 10;
    
    char strNum[64];
    int length = 0;
    
    do {
        strNum[length++] = '0' + (number % 10);
        number /= 10;
    } while(number != 0);
    
    for(int i = length - 1; i >= 0 ; --i) {
        *str++ = strNum[i];
    }
    
    *str++ = '.';
    if(precision < 0) precision = 15;
    
    do {
        *str++ = '0' + static_cast<int>(exp);
        exp = (exp - static_cast<int>(exp)) * 10.0;
        --precision;
        //printf("%.10lf %lf\n", exp, static_cast<double>(static_cast<int>(10 * exp)));
    } while(precision != 0);
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru