0 / 0 / 1
Регистрация: 08.12.2016
Сообщений: 34
1

Умножения чисел с плавающей точкой

08.12.2016, 21:45. Показов 3462. Ответов 6
Метки нет (Все метки)

Доброго времени суток,нужна ваша помощь в умножение чисел с плавающей точкой.
Суть программы:Умножение чисел в двоичном коде.Первое число -1.5, а второе число -45.5
Буду рад ответу,спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2016, 21:45
Ответы с готовыми решениями:

Написать защиту от ввода чисел с плавающей точкой, отрицательных чисел и символов
Привет всем! Вот пишу программу, преподаватель сказал чтобы написал защиту от ввода чисел с...

Калькулятор чисел с плавающей точкой
double calculate(float x, char s, float y); int main() { float x,y; char s; x=y=0; ...

Форматирование чисел с плавающей точкой
Все знают про проблемы с представлением дробных чисел. Например: double test = .58; ...

Сравнение чисел с плавающей точкой
Известно, что числа с плавающей точкой нельзя сравнивать с помощью ==. Однако, нет ли исключения из...

6
Модератор
Эксперт С++
12126 / 9791 / 5916
Регистрация: 18.12.2011
Сообщений: 26,268
08.12.2016, 22:26 2
Nonstoprus, я настоятельно рекомендую такие простейшие вещи научиться делать самостоятельно.
C++
1
2
double a=-1.5,b=-45.5;
cout<<a*b<<endl;
А может под умножением в двоичном коде Вы подразумеваете нечто другое?
0
0 / 0 / 1
Регистрация: 08.12.2016
Сообщений: 34
08.12.2016, 22:36  [ТС] 3
Вы не поняли,написать алгоритм.Код программы должен перевести результат в двоичный код.
0
Эксперт С++
3218 / 1745 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
09.12.2016, 08:06 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
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//Умножение чисел в двоичном коде.Первое число -1.5, а второе число -45.5
//Код программы должен перевести результат в двоичный код.
///////////////////////////////////////////////////////////////////////////////
#include <cctype>
#include <cmath>
#include <iostream>
#include <string>
///////////////////////////////////////////////////////////////////////////////
const   char    POINT_SYMB      { '.'   };
const   char    ZERO_SYMB       { '0'   };
const   char    DEC_DIG_SYMB    { 'A'   };
 
const   int     DEC_BASE        { 10    };
///////////////////////////////////////////////////////////////////////////////
typedef std::string     T_str;
///////////////////////////////////////////////////////////////////////////////
char    get_dig_symb( int   dig_val )
{
    return  dig_val     <   DEC_BASE
                ?   dig_val + ZERO_SYMB
                :   dig_val - DEC_BASE + DEC_DIG_SYMB;
}
///////////////////////////////////////////////////////////////////////////////
T_str   int_to_string_with_base
    (
        int     val,
        int     base
    )
{
    T_str   res;
 
    if(val == 0)
    {
        return  T_str( 1, ZERO_SYMB );
    }
 
    while( val )
    {
        char    dig_val_cur     =   val     %   base;
        val                     /=  base;
 
        res                     =       get_dig_symb( dig_val_cur )
                                    +   res;
    }//while
 
    return  res;
}
///////////////////////////////////////////////////////////////////////////////
T_str   str_val_of_double_with_base_and_precision
    (
        double  x,
        int     base,
        int     precision
    )
{
    int     int_val     =   x;
    double  fraction    =   x   -   int_val;
 
    auto    res         =   int_to_string_with_base( int_val,    base );
    res                 +=  POINT_SYMB;
 
    for( int  i{}; i < precision; ++i )
    {
        fraction    *=  base;
    }
 
    auto    fraction_str_val    =   int_to_string_with_base
                                        (
                                            fraction,
                                            base
                                        );
 
    while   (
                    fraction_str_val.size()
                <   precision
            )
    {
        fraction_str_val    =       ZERO_SYMB
                                +   fraction_str_val;
    }
 
    res     +=  fraction_str_val;
    return  res;
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    double  a{};
    std::cout   <<  "a\t\t= ";
    std::cin    >>  a;
 
    double  b{};
    std::cout   <<  "b\t\t= ";
    std::cin    >>  b;
 
    int     precision{};
    std::cout   <<  "precision\t= ";
    std::cin    >>  precision;
 
    std::cout   <<  std::endl
                <<  "bin val of  a * b = "
 
                <<  str_val_of_double_with_base_and_precision
                            (
                                a * b,
                                2,
                                precision
                            )
 
                <<  std::endl;
}
0
0 / 0 / 1
Регистрация: 08.12.2016
Сообщений: 34
09.12.2016, 18:43  [ТС] 5
Cпасибо за ответ,но увы компилятор ругается на многое количество ошибок.
Миниатюры
Умножения чисел с плавающей точкой  
0
Эксперт С++
3218 / 1745 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
09.12.2016, 19:11 6
Цитата Сообщение от Nonstoprus Посмотреть сообщение
Cпасибо за ответ,но увы компилятор ругается на многое количество ошибок.
Это потому, что он сам у вас с ошибками, ибо не соответствует новому стандарту!
0
3 / 3 / 0
Регистрация: 04.11.2016
Сообщений: 76
08.09.2022, 10:17 7
C++
1
2
3
4
5
#include <iomanip>
        #include <iostream>
 int main(){ double x = -1.5 ,y = - 45.5;
            std::cout << setiosflags(ios::fixed | ios::showpoint) << setprecision(6) << x*y << std::endl;
               }
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2022, 10:17
Помогаю со студенческими работами здесь

Массив чисел с плавающей точкой
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;fstream&gt; using namespace std; int main() { ...

Представление чисел с плавающей точкой
Никак не пойму почему в коде: double helper; bool cond; int dim_2; int dim_1;...

Округление положительных чисел с плавающей точкой
Добрый день ! Нужно округлить положительных чисел с плавающей точкой в большую сторону к числу...

Считывание из файла чисел с плавающей точкой
программа считывания из файла чисел в двумерный массив но как только в файле обнаруживаются числа с...


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

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

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