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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pepepe
0 / 0 / 0
Регистрация: 08.01.2013
Сообщений: 3
#1

Метод касательных, для решения уравнения на inline assembler - C++

16.01.2013, 19:49. Просмотров 393. Ответов 0
Метки нет (Все метки)

Добрый день. Пишу курсовую, суть оптимизировать c++ код, ассемблерными вставками, тоесть
C++
1
2
3
double f2(double x) {
    return 0;
}
до вида
C++
1
2
3
4
5
double f2(double x) {
    __asm{
         bla bla bla
        }
}
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
#include "stdafx.h"
#include <conio.h>
#include <math.h>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <ctime>
#include <stdio.h>
 
using namespace std;
 
double f(double x) {
    return pow(x,3)+2*pow(x,2)+3*x+5;
}
 
double f1(double x) {
    return 3*pow(x,2)+4*x+3;
}
 
double f2(double x) {
    return 6*x + 4;
}
 
int _tmain(int argc, _TCHAR* argv[])
{   
    int n=0;
    double a = -2,b=-2,c,eps=0.00001;
    cout<<"a="; cin>>a;
    cout<<"b="; cin>>b;
    cout<<"eps="; cin>>eps;
    if(f(a)*f2(a)>0) c=a;
    else c=b;
    do {
        c=c-f(c)/f1(c);
        n+=1;
    }
    while (fabs(f(c))>=eps);
    cout<<"c="<<c<<"\n";
    cout<<"n="<<n<<"\n";
}
сейчас остановился на функции fabs - абсолютное число. Как это можно реализовать на __asm ?

Добавлено через 1 час 55 минут
C++
1
2
3
4
5
6
7
8
    __asm
    {
        mov eax, num ; example -200 
            mov edi, eax
            shr edi,32
            xor eax, edi
            sub eax, edi
    }
сделал так, но это работает только для целых чисел, как сделать для дробных( -1,8765 )?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 19:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод касательных, для решения уравнения на inline assembler (C++):

Исследовать итерационный метод- метод касательных для решения нелинейных уравнений - C++
прочитал много всего , но сам пример реализовать никак не могу , кто может помогите F(x) = x5+5x+1=0 с...

Решение нелинейного уравнения. Метод хорд и касательных - C++
Написал я программку для решения, но вот незадача: Не находит их на некоторых отрезках. Уравнение: ln(x+1)-p/(x^2)=0 p = -1...1 ...

Inline Assembler & C++ - C++
int main(int argc, char *argv) { perevod(); cout&lt;&lt;&quot;Type Esc to Escape \n&quot;; __asm { mov ah,01h ...

inline assembler VS чтение по указателю - C++
Доброе время суток. Задача состоит в чтении 1 байта по адресу указателя. Проблема с пониманием, что не так с типами операндов. char...

Конечно-разностный метод решения краевой задачи (дифференциального уравнения) - C++
Решить краевую задачу конечно-разностным методом, условие в приложенных скриншотах и pdf-файле. Вместо правильного решения выводит...

Метод деления отрезка пополам для решения нелинейных уравнений (метод дихотомии) - C++
Здравствуйте. Помогите пожалуйста дописать программу. Вот что вымучал, но на сдаче завалили, типо нет вывода корней, не рассмотрены...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 19:49
Привет! Вот еще темы с ответами:

Написать программу для решения уравнения на С++ - C++
Всем привет!!) Помогите с написанием программы для решения уравнения на C++. Буду очень благодарен) z = \frac{sin({x}^{2})}{1 + cos(x)}...

Написать функцию для решения уравнения - C++

Написать программу для решения уравнения - C++
y=sin(2x+1) х от -3 до 1 го, шаг 0,2 нужно решить функцию нужно на этой неделе, пожалуйста помогите

Программы для решения нелинейного уравнения - C++
Здравствуйте товарищи программисты. У меня к вам просьба. У меня есть две готовые программы для вычисления нелинейного уравнения шаговым...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru