Понял, извини. Вот каждое задание отдельным кодом, как ты просил.
---
Задание 1
```c
#include <stdio.h>
int main(void)
{
int a = 12, b = 10;
// a = 0000 1100
// b = 0000 1010
printf("a & b = %d\n", a & b); // 8
printf("a | b = %d\n", a | b); // 14
printf("a ^ b = %d\n", a ^ b); // 6
printf("~a = %d\n", (unsigned char)~a); // 243
printf("a << 2 = %d\n", a << 2); // 48
printf("a >> 1 = %d\n", a >> 1); // 6
return 0;
}
```
---
Задание 2
```c
#include <stdio.h>
int main(void)
{
int x = 1, y = 2;
printf("%d\n", x & y); // 0
printf("%d\n", x && y); // 1
printf("%d\n", x | y); // 3
printf("%d\n", x || y); // 1
printf("%d\n", 2 & 3); // 2
printf("%d\n", 2 && 3); // 1
return 0;
}
```
---
Задание 3
```c
#include <stdio.h>
int main(void)
{
unsigned char x = 0xB7; // 1011 0111
printf("x & 0xF0 = 0x%X\n", x & 0xF0); // 0xB0
printf("x | 0x0F = 0x%X\n", x | 0x0F); // 0xBF
printf("x ^ 0x0F = 0x%X\n", x ^ 0x0F); // 0xB8
if ((x & 0x04) != 0)
printf("2-й бит установлен\n");
else
printf("2-й бит не установлен\n");
return 0;
}
```
---
Задание 4
```c
#include <stdio.h>
int main(void)
{
unsigned char z = 0;
printf("~0 = %u\n", (unsigned char)~z); // 255
printf("~0 << 1 = %u\n", (unsigned char)(~z << 1)); // 254
printf("~0 << 4 = %u\n", (unsigned char)(~z << 4)); // 240
printf("~(~0 << 4) = %u\n", (unsigned char)~(~z << 4)); // 15
printf("~(~0 << 1) = %u\n", (unsigned char)~(~z << 1)); // 1
printf("~(~0 << 0) = %u\n", (unsigned char)~(~z << 0)); // 0
return 0;
}
```
Вот теперь каждое задание — отдельная программа.