C - вычислить побитовое ИЛИ, используя только & и ~
Я пытаюсь вычислить поразрядно | только используя & и ~.
int main() {
int num1 = 3;
int num2 = 6;
printf("%d\n",num1|num2);
num1 = ~num1;
num2 = ~num2;
printf("d\n",num1);
printf("d\n",num2);
int num3 = num1 & num2;
printf("%d\n",num3);
}
И вот вывод:
7
d
d
-8
Я пытаюсь выяснить почему ~num1
выводит d
?
1 ответ
Решение
Замещать
printf("d\n",num1);
printf("d\n",num2);
с
printf("%d\n",num1);
printf("%d\n",num2);