|
아..네..그러니깐...ㅠ.ㅠ
XOR는 아시겠죠? ex-or...
두 비트를 비교해서 서로 다르면 1 같으면 0입니다...
01100101
^11111111
---------
=10011010
인것이죠...즉 1의 보수가 됩니다...여기에 1을 더하면 2의 보수구요...
^연산자 같은 비트 연산자는 이러한 것은 우리가 비트로 바꿔주고나 하지않아도
알아서 컴파일러가 비트로서 연산을 해줍니다...
#include <stdio.h>
void main()
{
unsigned char src,in;
scanf("%d",in);
src=(unsigned char)in;
src=src^0xff; // src를 2진수 1111 1111과 ex-or, 즉 1의 보수
src=src+1; //2의 보수
for(int i=0;i<8;i++)
{
if(src&(1< |