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

операции для работы с битами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Абстрактные классы http://www.cyberforum.ru/cpp-beginners/thread650416.html
В общем есть у нас 2 абстрактных класса CA и CB и 2 дочерних от них класса CC и CD. Как сделать так чтобы CD наследовал CB поверх которого должен быть CC? #include <iostream> class CA abstract { public: virtual void test( void ) = 0; virtual void fun( void ) = 0; }; class CB abstract : public CA {
C++ cin получил char вместо double и while зациклился. Почему? Привет! Решил задачу из книги Шилдта. "Годы Юпитера в Земные" Захотел проверить, что произойдет, если пользователь ошибется и вместо значения года введет символ. В итоге цикл while() бесконечно повторяется. Почему? #include <iostream> using namespace std; int main() { double jupiter_age = 0.0; char q = 'n'; while(q != 'y') http://www.cyberforum.ru/cpp-beginners/thread650415.html
Проверить 4 задачи C++
Пишу не себе, а девушке. Сам немного знаком с Делфи и MQL . Решения вроде бы правильные. Проверьте пожалуйста. Просто у меня не на чем. 1. Заданы числа a , b . Проверить, одного ли знака эти числа #include <iostream.h> #include <conio.h> void main() { int a,b; cout<<"a=";
Не изменяет запись C++
В общем... Не могу разобраться, почему 4-ая(find) функция не меняет данные...Помогите, пожалуйсто.) #include <stdio.h> #include <conio.h> #include <string.h> #include <Windows.h> struct tov {char name; float c; int kol;} t1; void input(FILE *); // создание нового файла void print(FILE *); // просмотр файла
C++ <iostream> в каких случаях используется? http://www.cyberforum.ru/cpp-beginners/thread650394.html
Что такое <iostream> расскажите о нем, для чего он используется.
C++ начать отладку Здравствуйте! Скажите пожалуйста, почему в этом коде system("pause") не работает??? #include "stdafx.h" #include <stdio.h> #include <math.h> int main(void) { double result; double x = 0.5; result = cos(x); printf("Косинус числа %lf – %lf\n", x, result); подробнее

Показать сообщение отдельно
Denimen
0 / 0 / 0
Регистрация: 30.06.2012
Сообщений: 26
11.09.2012, 23:08  [ТС]     операции для работы с битами
А почему тогда в данном случае программа не работает?
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
137
138
139
140
141
142
143
144
145
#include "stdafx.h"
#include "cstdlib"
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <fstream>
using namespace std;
//---------------------------------------------------------------------------------------------------------------
 
class BitString
{
private:
    unsigned long part1;
    unsigned long part2;
public:
    void zapolnenie(); // добавление новой записи
    void and(); // Побитовое И
    void or(); // Побитовое ИЛИ
    void xor(); // Сложение по модулю два
    void not(); // Побитовое отрицание
    void shiftLeft(); // сдвиг влево
    void shiftRight(); // сдвиг вправо
};
void BitString::zapolnenie()
{
    cout<<"Введите первое число в двоичной системе: ";
    cin>>part1;
    cout<<"Введите второе число в двоичной системе: ";
    cin>>part2;
    cout<<"Данные внесены!!!";
}
void BitString::and()
{
    unsigned long part3;
    part3=part1&part2;
    cout<<"Побитовое И равно: "<<part3;
}
void BitString::or()
{
    unsigned long part3;
    part3=part1|part2;
    cout<<"Побитовое ИЛИ равно: "<<part3;
}
void BitString::xor()
{
    unsigned long part3;
    part3=part1^part2;
    cout<<"Сложение по модулю два равно: "<<part3;
}
void BitString::not()
{
    unsigned long part3;
    unsigned long part4;
    part3=~part1;
    part4=~part2;
    cout<<"Побитовое отрицание первого числа равно: "<<part3<<endl;
    cout<<"Побитовое отрицание второго числа равно: "<<part4<<endl;
}
void BitString::shiftLeft()
{
    unsigned long part3;
    unsigned long part4;
    part3=<<part1;
    part4=<<part2;
    cout<<"Cдвиг влево первого числа равно: "<<part3<<endl;
    cout<<"Cдвиг влево второго числа равно: "<<part4<<endl;
}
void BitString::shiftRight()
{
    unsigned long part3;
    unsigned long part4;
    part3=>>part1;
    part4=>>part2;
    cout<<"Cдвиг вправо первого числа равно: "<<part3<<endl;
    cout<<"Cдвиг вправо второго числа равно: "<<part4<<endl;
}
 
int main()
{
setlocale(0, "");
BitString ac;
int m=0;
while(m!=10)
    {
    cout<<"1-Внести данные"<<endl;
    cout<<"2-Выполнить побитовое И"<<endl;
    cout<<"3-Выполнить побитовое ИЛИ"<<endl;
    cout<<"4-Выполнить сложение по модулю два"<<endl;
    cout<<"5-Выполнить побитовое отрицание"<<endl;
    cout<<"6-Выполнить сдвиг влево"<<endl;
    cout<<"7-Выполнить сдвиг вправо"<<endl;
    cin>>m;
    switch (m)
        {
        case 1: 
            system("cls");
            ac.zapolnenie();
            _getch();
            system("cls");
        break;
        case 2: 
            system("cls");
            ac.and();
            _getch();
            system("cls");
        break;
        case 3: 
            system("cls");
            ac.or();
            _getch();
            system("cls");
        break;
        case 4: 
            system("cls");
            ac.xor();
            _getch();
            system("cls");
        break;
        case 5: 
            system("cls");
            ac.not();
            _getch();
            system("cls");
        break;
        case 6: 
            system("cls");
            ac.shiftLeft();
            _getch();
            system("cls");
        break;
        case 7: 
            system("cls");
            ac.shiftRight();
            _getch();
            system("cls");
        break;
        default: cout<<"Вводите зачения от 1 до 7";
            _getch();
            system("cls");
    }
  }
return 0;
}
 
Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru