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);
Другие вопросы по тегам