Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
edward_jonson
160 / 160 / 68
Регистрация: 23.02.2011
Сообщений: 392
16.09.2012, 14:56 0

Функция, перемножающая два числа с учётом переполнения

16.09.2012, 14:56. Просмотров 683. Ответов 4
Метки (Все метки)

Ответ

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
#include <iostream>
#include <cmath>
 
using namespace std;
 
typedef unsigned short us;
 
us Create(us a, us b, us &c)
{
    if ( a * b >= pow(2, 16) )
    {
        us toRet = (a*b) / pow(2, 16);
        c = a*b - toRet * pow(2, 16);
        return toRet;
    }
    else
    {
        c = a * b;
        return 0;
    }
}
 
int main()
{
    us lowp = 0, highp = 0;
    us a = 1024, b = 1025;
    highp = Create(a, b, lowp);
    cout << highp << " * " << pow(2, 16) << " + " << lowp << " = " << (int)(highp * pow(2, 16) + lowp) << endl
         << a << " * " << b << " = " << (int)(a * b);
    return 0;
}


Вернуться к обсуждению:
Функция, перемножающая два числа с учётом переполнения
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2012, 14:56

Функция которая сравнивает два целых числа и возвращает результат сравнения в виде знака: >, < или =
Используя функцию, которая сравнивает два целых числа и возвращает результат сравнения в виде...

Обработка исключительной ситуации переполнения вещественного числа
Помогите написать программу, которая выполняет обработку исключительной ситуации переполнения...

Функция которая находит два крайних положительных числа и сортирует массив слева от левого элемента, и справа
Функция которая находит два крайних положительных числа и сортирует массив слева от левого...

0
Другие темы раздела
C++ Разработать программу, которая для введенного символа арифметической операции ('+','-','/','*','%') печатает ее название http://www.cyberforum.ru/cpp-beginners/thread652717.html
Разработать программу, которая для введенного символа арифметической операции ('+','-','/','*','%') печатает ее название.
C++ Дублирование вхождения каждого элемента списка One и формирование из этих значений списка Double (пояснить условие) Здравствуйте. Вот собственно само задание: В составе программы описать функцию, которая дублирует вхождение каждого элемента списка One и формирует из этих значений список Double. Кому не сложно... http://www.cyberforum.ru/cpp-beginners/thread652713.html
C++ Сортировка методом центрированной вставки
Доброго времени суток. Может у кого-нибудь есть пример на С++ этой сортировки? Буду рад поглядеть) В интернете не нашел примеров)
C++ std::cin, eof не всегда принимается как признак конца файла
std::string text; char ch = 0; while(!std::cin.get(ch).eof()){ text.append(1, ch); } Ввожу в консоль в Windows: "^Z" (ctrl-z) ok, из цикла выходит "g\n^Z" (\n - новая строка) ok, из цикла...
C++ [c++] формулы лаба http://www.cyberforum.ru/cpp-beginners/thread652671.html
В общем есть такая проблема я ламер в с++ полный так как только начали его изучать в универе ,а лабу сдавать завтра:( если можете подсказать что-то или сделать, прошу помогите просто реально ничего...
C++ Не работает считывание из файла char* Text::GetDataFromFile(char* Location) { char Data; DWORD Size; DWORD R; HANDLE File = CreateFile((wchar_t*)Location, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru