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

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

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

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

16.01.2013, 19:49. Просмотров 390. Ответов 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 )?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 19:49     Метод касательных, для решения уравнения на inline assembler
Посмотрите здесь:

Решение нелинейного уравнения. Метод хорд и касательных - 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 ...

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

Ошибка в коде для решения уравнения - C++
Здравствуйте, прохацкеры. Попытался составить программу для решения такого уравнения двумя методами: ...

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

Написать программу для решения уравнения на С++ - C++
Всем привет!!) Помогите с написанием программы для решения уравнения на C++. Буду очень благодарен) ...

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

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

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

Inline-метод - C++
Как можно декларировать inline-метод класса не используя ключевое слово inline??

Написать программу для решения математического уравнения - C++
Сделать блок-схему и написать программу данного математического выражения, ввод с клавиатуры. Файл прикрепил П.5.18.Правил Запрещено...

Написать программу на C++, для решения диф. уравнения - C++
Помогите пожалуйста:(


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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