IT 정리용 블로그!

CodeUp [기초-비트단위논리연산] 6059,6060,6061,6062 본문

CodeUp

CodeUp [기초-비트단위논리연산] 6059,6060,6061,6062

집가고시퍼 2021. 12. 29. 23:05
  • [6059]
    Q : 정수 1개가 입력된다(-2147483648 ~ +2147483647). 비트 단위로 1->0, 0->1로 바꾼 후 그 값을 10진수로 출력해라.

    A :
    컴퓨터에서 모든 데이터는 2진수 형태로 바꾸어 저장된다. ~를 쓰면 2진수의 0은 1로, 1은 0으로 바꾼다. 이를 1's complement라고 하며, ~n=-n-1이다. ~2=-2-1=-3이다. 2's complement는 ~n+1=(-n-1)+1=-n이다. 모든 비트를 반대로 뒤집고 1을 더한 것이다.

  • [6060]
    Q : 정수 2개가 공백을 두고 입력된다(-2147483648 ~ +2147483647). 두 정수를 비트단위로 and계산한 결과를 10진수로 출력한다.

    A :
    예를 들어 3과 5가 입력되었을 때를 살펴보면
    3       : 00000000 00000000 00000000 00000011
    5       : 00000000 00000000 00000000 00000101
    3 & 5 : 00000000 00000000 00000000 00000001    로 1이 출력된다.
  • [6061]
    Q : 정수 2개가 공백을 두고 입력된다(-2147483648 ~ +2147483647). 두 정수를 비트단위로 or계산한 결과를 10진수로 출력한다.

    A :
    3      : 00000000 00000000 00000000 00000011
    5      : 00000000 00000000 00000000 00000101
    3 | 5 :  00000000 00000000 00000000 00000111   로 7이 출력된다.

  • [6062]
    Q : 정수 2개가 공백을 두고 입력된다(-2147483648 ~ +2147483647). 두 정수를 비트단위로 xor계산한 결과를 10진수로 출력한다.

    A :
Comments