Я не могу понять, почему его вывод равен ffff, он должен быть 0000. Пусть говорят, что int принимает 2 байта ffff будет сохранен в памяти: 1111 1111 1111 1111
, после чего значение ~ станет: 0000 0000 0000 0000 но из-за наступающего ffff я пропустил какую-то общую концепцию?Оператор побитового отрицания unsigned int
#include <stdio.h>
void main()
{
unsigned int a = 0xffff;
~a;
printf("%x", a);
}
Выход: FFFF
попробовать переназначить его к себе ... только ++ и ++ а являются унарные операции .. – AurA
@AurA, что не ж х унарный оператор. У вас также есть унарные '+', '-' и' ~ ', которые все работают по одному аргументу. Только 'a ++' и '++ a' и' a - 'и' --a' изменяют значение переменной, в которой они работают. – OmnipotentEntity