49 / 2 / 0
Регистрация: 13.02.2020
Сообщений: 448
1
C/C++

Реализовать вычитание двух 64-разрядных чисел.

30.03.2021, 09:34. Показов 1370. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет Ребят подскажите, пожалуйста, в чём проблема??

Есть следующая задача: "Реализовать вычитание двух 64-разрядных чисел."
Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(LC_ALL, "Russian");
    long a=889567, b=563978;
    _asm
    {
        MOV EAX, [b]
        MOV EDX, [b+4]
        SUB [a], EAX
        SBB [a+4], EDX
    }
    cout << " a-b= " << a;
}
Но выдаёт ошибку почему-то((
Миниатюры
Реализовать вычитание двух 64-разрядных чисел.   Реализовать вычитание двух 64-разрядных чисел.  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2021, 09:34
Ответы с готовыми решениями:

Вычитание двух 32-разрядных двоичных чисел
Добрый день! Понимаю, что задача простейшая, но все же вызывает затруднения. Мне надо написать...

Умножение двух 16-ти разрядных чисел
Здравствуйте . Помогите , пожалуйста, понять , как умножаются числа в ассемблере. Читал , что...

Сложение двух 256-разрядных чисел
Написать на ассемблере функцию сложения двух 256-разрядных чисел Написать на ассемблере функцию...

Рекурсия: вычитание двух n-разрядных чисел
мне нужно вычесть два n-разрядные числа рекурсией, помогите пожалуйста мені потрібно відняти два...

7
263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790
30.03.2021, 09:41 2
возможно из-за этого:
C++
1
cout <<sizeof(long)<<" "<<sizeof(long long)<<endl;
0
49 / 2 / 0
Регистрация: 13.02.2020
Сообщений: 448
30.03.2021, 09:48  [ТС] 3
AnyKey, а теперь вот так
Миниатюры
Реализовать вычитание двух 64-разрядных чисел.  
0
263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790
30.03.2021, 09:50 4
VS 20xx работает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void main()
{
    long long a=889567, b=563978;
    //cout <<sizeof(long)<<" "<<sizeof(long long)<<endl;
    _asm
    {
        MOV EAX, dword ptr[b]
        MOV EDX, dword ptr[b+4]
        SUB dword ptr[a], EAX
        SBB dword ptr[a+4], EDX
    }
    cout << " a-b= " << a;
    system("pause");
}
1
49 / 2 / 0
Регистрация: 13.02.2020
Сообщений: 448
30.03.2021, 10:03  [ТС] 5
AnyKey, а можете, пожалуйста, объяснить, почему именно так?
0
263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790
30.03.2021, 10:07 6
что именно?
long long - 8 байт "Реализовать вычитание двух 64-разрядных чисел."
EAX - 4 байта
dword ptr - указатель на 4х байтовое значение
1
49 / 2 / 0
Регистрация: 13.02.2020
Сообщений: 448
30.03.2021, 10:21  [ТС] 7
AnyKey, а скажите, пожалуйста, а зачем использовать этот указатель dword ptr ? просто в учебной литературе, этот фрагмент кода написан без указателей
0
263 / 182 / 87
Регистрация: 03.05.2020
Сообщений: 790
30.03.2021, 10:30 8
у меня без него вовсе не компилировалось, видимо от IDE зависит
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2021, 10:30
Помогаю со студенческими работами здесь

PIC16F84A Вычитание двух 2-х разрядных двоичных чисел
Помогите с кодом для PiC16f84a со следующими функциями: Вычитание двух 2-х разрядных двоичных...

Реализовать процедуры сложения и умножения двух сто разрядных чисел
Выручайте, совершенно ничего не понимаю в программировании,а в университете поставили данную...

Сложение/вычитание 4-разрядных bcd-чисел
Всем доброго времени суток! Совсем запуталась с решением данной задачи, поэтому без вашей помощи не...

Вычитание n-разрядных целых чисел различной длины.
Добрый вечер, помогите сделать блок схему на паскале для задачи: Напишите алгоритм вычитания...

Сложение, вычитание и умножение 32-разрядных чисел в intel 8051
Реализовать подпрограммы сложения, вычитания и умножения 32- разрядных чисел в формате с плавающей...

Сложение, вычитание и умножение 32-разрядных чисел в формате с плавающей точкой (float)
Добрый день. Прошу помощи в решении задачи на Generic 8051 ЗАДАЧА: Реализовать подпрограммы...


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

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

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