Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 27
1

Вычислить значение побитового логического выражения

15.03.2017, 08:10. Просмотров 638. Ответов 9
Метки нет (Все метки)

Добрый день господа форумчане
не могу написать код верней не могу понять с чего начать

задача
(x↓y)+zvx̅

Как написать решение для с++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2017, 08:10
Ответы с готовыми решениями:

Вычислить значение логического выражения
Помогите пожалуйста разобраться с задачей) Надо: Вычислить значение логического выражения при...

Вычислить значение логического выражения
Не могу понять что надо делать в данном задании, тема макросов: w =...

Вычислить значение логического выражения
Вычислить значение логического выражения x*x-y*y<=0 если x=1, y=-1

Вычислить значение логического выражения

9
6911 / 5976 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
15.03.2017, 08:30 2
Что это за символы?
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 27
15.03.2017, 08:35  [ТС] 3
(x↓y) Стрелка Пирса
x̅ отрицание
z∨x̅ дизъюнкция
(x↓y)+z∨x̅ сложение
x простоя переменная
y простоя переменная
z простоя переменная
на листе решил её но задали решить её с помощью с++
0
6911 / 5976 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
15.03.2017, 08:41 4
C++
1
~(x | y) + (z | v | ~x)
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 27
15.03.2017, 08:47  [ТС] 5
Окей хорошо. Мне настоятельно рекомендует писать программу через bit set, а как задать значение x, y, z
например x = 00001111 y = 00110011 z = 01010101
0
6911 / 5976 / 2709
Регистрация: 14.04.2014
Сообщений: 25,504
15.03.2017, 09:30 6
У bitset нет сложения.

В шестнадцатеричной системе записывай.
C++
1
uint8_t x = 0x0F;
Если через bitset, то строкой:
C++
1
std::bitset<8> x("00001111");
0
Форумчанин
Эксперт CЭксперт С++
8160 / 5008 / 1436
Регистрация: 29.11.2010
Сообщений: 13,458
15.03.2017, 12:02 7
Цитата Сообщение от Blodi Посмотреть сообщение
Мне настоятельно рекомендует писать программу через bit set
Можно оперировать с числами, а bitset использовать лишь для вывода начальных условий и результата.
0
0 / 0 / 0
Регистрация: 21.02.2017
Сообщений: 27
29.03.2017, 07:44  [ТС] 8
Ура товарищи додумался до кода сам. Критика приветствуется. Всем спасибо за добрые советы
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
// ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <bitset>
#include<iostream>
#include<conio.h>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    bitset<8>x;
    cout << "x:" << endl;
    for (int i = 4; i < 8; i++){
 
        x[i] = 1;
 
    }
    for (int i = 0; i < 8; i++){
 
 
        cout << x[i];
 
    }
    cout << endl;
    bitset<8>y;
    cout << "y:" << endl;
    for (int i = 2; i <= 3; i++){
 
        y[i] = 1;
 
    }
    for (int i = 6; i <= 7; i++){
 
        y[i] = 1;
 
    }
    for (int i = 0; i < 8; i++){
 
 
        cout << y[i];
    }
    cout << endl;
    bitset<8>z;
    cout << "z:" << endl;
    for (int i = 0; i < 8; i++){
        if (i % 2 != 0)
            z[i] = 1;
 
        cout << z[i];
 
    }
    cout << endl << "(x↓y)";
    bitset<8>f2;
    cout << "f2:" << endl;
    for (int i = 0; i < 8; i++){
    if ((x[i] == 0) && (y[i] == 0))
        f2[i] = 1;
    else f2[i] = 0;
    cout << f2[i];
}
    cout << endl << "-x";
    bitset<8>f5;
    cout << "f5:" << endl;
    for (int i = 0; i < 8; i++){
        if ((x[i] == 0))
            f5[i] = 1;
        else f5[i] = 0;
        cout << f5[i];
    }
    cout << endl << "z v (-x)";
    bitset<8>f6;
     cout << "f6:" << endl;
     for (int i = 0; i < 8; i++){
         f6[i] = f5[i] + z[i];
         cout << f6[i];
     }
     cout << endl << "(x↓y)+ z v (-x)";
     bitset<8>f7;
     cout << "f7:" << endl;
     for (int i = 0; i < 8; i++){
         if (((f2[i] == 1) && (f6[i] == 1)) || ((f2[i] == 0) && (f6[i] == 0)))
             f7[i] = 0;
         else f7[i] = 1;
         cout << f7[i];
     }
     _getch();
    
    return 0;
}
0
130 / 156 / 87
Регистрация: 06.04.2016
Сообщений: 992
29.03.2017, 08:19 9
Удалено.
0
nmcf
29.03.2017, 09:19     Вычислить значение побитового логического выражения
  #10

Не по теме:

Избыточно и не использует ни побитовые операции, ни возможности bitset.

0
29.03.2017, 09:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.03.2017, 09:19
Привет! Вот еще темы с ответами:

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

Рекурсия: вычислить значение логического выражения, заданного в виде строки
Вывести значение логического выражения, заданного в виде строки S. Выражение определяется следующим...

Вычислить значение логического выражения при заданных значениях логических величин
Вычеслить значение логического выражения при следующих значениях логических величин А,В и С: ...

Вычислить значение логического выражения при следующих значениях логических величин
X, Y и Z: Х=Ложь; У=Истина; Z=Ложь: а) X и не (Z или Y) или не Z; б) не X или X и (Y или Z);...

Вычислить значение логического выражения при заданных значениях логических величин
Вычеслить значение логического выражения при следующих значениях логических величин А,В и С: ...

Вычислить значение логического выражения при всех возможных значениях логических величин А и В
Вычислить значение логического выражения при всех возможных значениях логических величин А и В; ...


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

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

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