3 / 3 / 1
Регистрация: 13.12.2018
Сообщений: 207
1

Точность вычислений

07.06.2020, 19:03. Показов 482. Ответов 0
Метки нет (Все метки)

Здравствуйте! Проблема примерно такого плана: мне надо найти точку, которая ближе всего лежит к началу координат.

Мой код для поиска точки:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
    float x, y,xres,yres;
    float Lv;
    float result = 1000000;
 
    for (float i = -10000; i < 10001; i = i + 0.1)
    {
        //x = round(i * 100) / 100.0;
        //y = round( (k * x + b)* 100) / 100.0;
        
        //x = i;//round(i*10)/10;// -0.00000000056;
       
        float temp = 10.0;
        // float tempI = floor(i * 10);
        // i = /10;
        // x = i;
        // y = k * x + b;
        
        __asm
        {
           
 
            FLD i // Поиск x
            FLD temp
            FMULP st(1),st
            FRNDINT // Округление
            FLD temp          
            FDIVP st(1),st
            FST x
 
            // k*x
            FLD k
            FXCH st(1)
            FMUL st(1),st 
 
           
            // y
            FXCH st(1)
            FLD b
            FADDP st(1),st
            FST y
 
            //y^2
            FMUL st,st
 
            //x^2
            FXCH st(1)
            FMUL st,st
 
           /* FLD x
            FLD x
            FMULP st(1), st
 
            FLD y
            FLD y
            FMULP st(1), st*/
 
            FADDP st(1), st
 
            FSQRT
            FSTP Lv
        }
        if (Lv < result)
        {
            result = Lv;
            xres = x;
            yres = y;
        }
    }
По заданию для подсчётов я должен использовать ассемблер. С ним у меня проблем нету. Однако внутри сам цикл портит вычисления. Появляются какие-то остатки или подобное (когда увеличиваю i на 0.1). Подскажите как это исправить?

Пример:
Точность вычислений


По идее это точка с координатами (500;500), но он выводит неправильно.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2020, 19:03
Ответы с готовыми решениями:

Точность вычислений
Для проверки точности вычислений существуют формулы и калькулятор на 200000 знаков до и после...

Точность вычислений у double
Дана задача: &quot;Определить, на сколько нулей заканчивается факториал числа n&quot;. Пример: вводим &quot;25&quot;,...

Высокая точность вычислений (погрешность<10^-30)
Здравствуйте, необходимо вычислить значение функции с заданной точностью (к примеру с точностью до...

Точность вычислений в double (Обрезание числа)
Здравствуйте! Дело в том, что мне необходимо выводить большие числа с большим количеством знаков...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2020, 19:03
Помогаю со студенческими работами здесь

Вещественные числа с плавающей точкой, точность вычислений
Работаю над проектом, требующим большую точность вычисления вещественных чисел. Решила...

"Точность вычислений" или "Элементарная погрешность"
Всем привет! Решаю задачку (Задача А - во вложениях), где даны координаты вершин треугольника, и...

Точность и т.д.
1)Дано два целых числа a і b. Виведите гипотенузу с катетами a и b с точностью 6 знаков. Вх одные...

повышенная точность
Приветствую всех. Господа, подскажите где может быть косяк? Задача по геодезии, поэтому практически...

Точность в double
Добрый день Мне задали сделать проект в универе - Калькулятор с великой точностю. Я уже почти...

Точность ряда
Всем привет. Есть задание: Вычислить и вывести на экран в виде таблицы значения функции, с...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru