signed 자료형에서의 비트 반전

2019. 11. 13. 15:26임베디드/ATmega128

signed char 값의 범위는 -128 ~ 127이다

 

비트 반전 ~ 연산자를 signed char에 씌우면 값은 어떻게 변하게 될까

0 ~ 127은 부호가 반전이 되면서 1이 더해진 값이 반전된 값으로 된다

-1 ~ -128도 부호가 반전이 되지만 1이 빼진 값이 반전된 값으로 된다

 

#include <stdio.h>

int main(void)
{
    char num = 10;
    printf("not num = %d\n", ~num);

    return 0;
}