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

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

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

Объединить ветки оператора выбора - C++

01.07.2014, 12:08. Просмотров 196. Ответов 0
Метки нет (Все метки)

Ребят, нужна помощь. Последние две ветки необходимо объединить в одну, начиная с c<0.
Тоесть если после запятой нет цифр, то...
Заранее большое спасибо

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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#include "stdafx.h"
#include <stdlib.h>
#include <conio.h>
#include <stdio.h>
#include <iostream>
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
using namespace std;
 
 
static union{
    float mant; 
    unsigned int bz; //целое беззнаковое
    } chislo;
 
void bin(unsigned int a) //код в двоичной системе
{   char b[32];
    for (int i = 0; i < 32; i++){
        b[i] = a % 2;
        a = a / 2;}
    for (int i = 0; i < 32; i++)
        printf("%1d", b[31 - i]);}
 
int main(){
    setlocale(LC_ALL, "Russian");
    unsigned int a, b;
    int c;
    char d[32];
    float input;
    cout << "Введите число: ";
    cin>>input;
    chislo.mant=input;
 
    a = chislo.bz;  //целое число без знака
    cout <<"Машинный код числа: ";
    bin(a); //Вывод числа в двоичном коде
    cout << endl;
    b = a;
    //сдвиг до порядка
    a <<= 1;
    a >>= 24;
    cout<<"Порядок в двоичном коде: ";
    bin(a); // вывод порядка в двоичном виде
    cout << endl;
 
    c = a;
    c = c - 127;//перевод порядка в десятичный вид
    cout<<"Порядок в десятичном виде: ";
    cout << c;//вывод порядка в десятичном виде
    cout << endl;
 
    b <<= 9;
    b >>= 9;
    cout<<"Мантисса: ";
    bin(b); //вывод мантиссы в двоичном коде
    cout << endl;
 
    b = b | 040000000;
    cout<<"Мантисса с 1: ";
    bin(b);// Вывод мантиссы с единицей
    cout << endl;
    // Перевод в массив числа в двоичном коде
 
    int k = 23 - c;
    int k1 = 32 - k;
    b <<= k1;
    b >>= k1;
    cout<<"Целая часть: ";
    cout << int(input);
 
    cout << endl;
 
 
 
    cout<<"Дробное число: ";
    bin(b);
    cout << endl;
    /*cout << "Число в десятичном виде: 0,";
        for (int i = 0; i < 30; i++){
        b = b * 10;
        unsigned int z = b;
        z >>= 23 - c;
        cout <<z;
        b <<= 32 - (20 - c);
        b >>= 32 - (20 - c);}
        */
 
   if (c<0)
    {
        cout<<"Число в десятичном виде: 0,";
        
        unsigned long long int b=chislo.bz;
        b<<=41;
        b>>=41;
        b=b|040000000;//Добавление единицы 
    
        for (int i=0; i<30; i++)
        {
        b=b*10;
        unsigned long long int Dec=b;
        Dec>>=23-c;
 
        cout<<Dec;
        b<<=41+c;
        b>>=41+c;
        }
    }
    else
        {
        cout<<"Число в десятичном виде: ";
        
        unsigned int b=chislo.bz;
        b<<=9;
        b>>=9;
        b=b|040000000;//Добавление единицы 
 
        unsigned int Dec=b; // Выделение целой части
        Dec>>=23-c;
        cout<<Dec;
        cout<<".";
        b<<=(9+c);
        b>>=(9+c);
        
        for(int i=c; i<30; i++)   // Выделение дробной части
        {
        b=b*10;
        unsigned int Dec=b;
        Dec>>=23-c;
        cout<<Dec;
        b<<=(9+c);
        b>>=(9+c);
        }
        } 
    _getch();
}
Добавлено через 3 часа 2 минуты
//можно удалить
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.07.2014, 12:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объединить ветки оператора выбора (C++):

Сравнить два целых числа, не используя условного оператора, оператора выбора и так же символов сравнения - C++
Добрый день уважаемые программисты, хотелось, чтобы вы помогли мне в решении одной задачи, а именно подсказали идею решения. Задача...

Почему срабатывают две ветки оператора if, хотя ожидается, что будет срабатывать одна? - C++
У меня возник вопрос, вот я делаю ИИ. Но вот у меня так получилось что выполняется два if(a). Как мне быть с этим? Как сделать так, что бы...

Использование оператора множественного выбора - C++
Помогите пожалуйста с простой прогой: --&gt; С начала 1990 года по некоторый день прошло n месяцев и 2 дня. определить название месяца...

Написать программу вычисления выражения c использованием оператора множественного выбора Switch - C++
Всем привет!) Помогите с написанием программы для вычисления выражения c использованием оператора множественного выбора Switch. Заранее...

Написать программу вычисления выражения c использованием оператора множественного выбора Switch - C++
Всем привет!) Помогите с написанием программы для вычисления выражения c использованием оператора множественного выбора Switch. Заранее...

задачу с оператора выбора case очень нужно : Пусть элементами равностороннего треугольника являются: 1.Сторона а; 2.Площад - C++
Помогите решить задачу с помощью оператора выбора case очень нужно плиз: Пусть элементами равностороннего треугольника являются: ...

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

Составить программы с использованием оператора выбора. Ввести первую букву названия страны. Вывести название континента. - C++
Составить программы с использованием оператора выбора. Ввести первую букву названия страны. Вывести название континента.

Выполнить задания с использованием инструкции выбора if и с использованием условного оператора - C++
Выполнить задания с использованием инструкции выбора if и с использованием условного оператора ? (если он присутствует в языке...

Составить программы для пузырьковой сортировки и сортировки посредством выбора с применением оператора while - C++
Доброго времени суток, очень нужна ваша помощь в решении данной проблемы, буду бесконечно благодарен. Составить программы для пузырьковой...

Избыточное копирование объекта при реализации оператора умножения и оператора присваивания - C++
Есть класс работы с матрицами. Есть операция умножения матриц, описанная как оператор класса. В данном коротком примере я просто моделирую...


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

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

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