Работа с битами с использованием и, или ... и т. Д. Операций - PullRequest
0 голосов
/ 24 декабря 2018

Напишите программу на C, которая считывает с клавиатуры два числа a и b (0 <= a, b <16) и отображает значения, полученные путем применения к операторам a и ba и логики, или логики, и бита, или битаили исключительно по битам. </p>

#include <stdio.h>

int main()
{
    int a,b;

    printf("Introduceti primul numar :\n"); scanf("%d",&a);
    printf("Introduceti al doilea numar :\n"); scanf("%d",&b);

    printf("\nAplicarea asupra lui a si be a operatorilor:\n");
    printf("Si logic = %d\n",a&b); //or 
    printf("Sau logic = %d\n",a|b); //and
    printf("Si pe biti = %d\n",); //bit or  
    printf("Sau pe biti = %d\n",); //bit and
    printf("Sau exclusiv pe biti = %d\n",); //exclusive bit or
}

У меня проблемы с битовой частью.

1 Ответ

0 голосов
/ 24 декабря 2018

Операторы & (побитовые И ), | (побитовые ИЛИ ), которые вы использовали, являются фактическими побитовыми операторами.Логические операторы обозначаются как &&, ||:

printf("Si logic = %d\n",a || b); //or 
printf("Sau logic = %d\n",a && b); //and
printf("Si pe biti = %d\n", a | b); //bit or  
printf("Sau pe biti = %d\n", a & b); //bit and
printf("Sau exclusiv pe biti = %d\n", a ^ b); //exclusive bit or

. Вывод значения в шестнадцатеричной базе можно распечатать, чтобы понять, как побитовые операторы вычисляли свой вывод:

printf("Si pe biti = %x\n", a | b); //bit or  
printf("Sau pe biti = %x\n", a & b); //bit and
printf("Sau exclusiv pe biti = %x\n", a ^ b); //exclusive bit or
...