6059 : [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기(설명)(py)

2025. 5. 9. 23:47·코딩테스트/CodeUp

시간 제한 : 1 Sec 메모리 제한 : 128 MB


문제 설명

입력된 정수를 비트 단위로 참/거짓을 바꾼 후 정수로 출력해보자.
비트단위(bitwise)연산자 ~ 를 붙이면 된다. (~ : tilde, 틸드라고 읽는다.)

비트단위(bitwise) 연산자는, ~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift) 가 있다.

예를 들어 1이 입력되었을 때 저장되는 1을 32비트 2진수로 표현하면 00000000 00000000 00000000 00000001 이고, ~1은 11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미한다.

예시
a = 1
print(~a) # -2가 출력된다.

입력

정수 1개가 입력된다.
-2147483648 ~ +2147483647


출력

비트 단위로 1 -> 0, 0 -> 1로 바꾼 후 그 값을 10진수로 출력한다.


입력 예시

2


출력 예시

-3


내 풀이

a = int(input())
print(~a)

정답

a=int(input())
print(~a)

참고

컴퓨터에 저장되는 모든 데이터들은 2진수 형태로 바뀌어 저장된다.
0과 1로만 구성된 비트단위들로 변환되어 저장되는데, 양의 정수는 2진수 형태로 바뀌어 저장되고, 음의 정수는 "2의 보수 표현" 방법으로 저장된다.
-1은 0에서 1을 빼고 32비트만 표현하는 형태로 11111111 11111111 11111111 11111111 로 저장된다.-2는 -1에서 1을 빼면 되므로 11111111 11111111 11111111 11111110 로 저장된다.즉, 정수 n이라고 할 때, ~n = -n - 1이고 -n = ~n + 1 과 같은 관계로 표현할 수 있다.


https://codeup.kr/problem.php?id=6059&rid=0
반응형

'코딩테스트 > CodeUp' 카테고리의 다른 글

6061 : [기초-비트단위논리연산] 비트단위로 OR 하여 출력하기(설명)(py)  (0) 2025.05.10
6060 : [기초-비트단위논리연산] 비트단위로 AND 하여 출력하기(설명)(py)  (0) 2025.05.09
6058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기(py)  (0) 2025.05.09
6057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기(설명)(py)  (0) 2025.05.09
6056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기(설명)(py)  (0) 2025.05.09
'코딩테스트/CodeUp' 카테고리의 다른 글
  • 6061 : [기초-비트단위논리연산] 비트단위로 OR 하여 출력하기(설명)(py)
  • 6060 : [기초-비트단위논리연산] 비트단위로 AND 하여 출력하기(설명)(py)
  • 6058 : [기초-논리연산] 둘 다 거짓일 경우만 참 출력하기(py)
  • 6057 : [기초-논리연산] 참/거짓이 서로 같을 때에만 참 출력하기(설명)(py)
Jio_ni
Jio_ni
안녕하세요!! 개발 공부를 하고 있는 뽀시래기 강지현입니다!!
  • Jio_ni
    지현이의 개발 블로그
    Jio_ni
  • 전체
    오늘
    어제
    • 분류 전체보기 (200)
      • LG AI (4)
      • About (0)
      • ELITE HACKER bootcamp (12)
        • Pre.web (12)
        • Main.web (0)
      • Naver BoostCamp (0)
        • Basic (0)
      • Study (30)
        • Python (13)
        • C언어 (0)
        • Java (0)
        • HTML (7)
        • CSS (0)
        • Linux (0)
        • Web hacking (0)
        • git (4)
        • 혼공학습단 (1)
        • 유니티 (1)
        • 코딩 자율학습단 (4)
      • Project (0)
      • 코딩테스트 (153)
        • CodeUp (76)
        • 프로그래머스 (20)
        • 백준 (47)
        • SWEA (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CodeUp
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
Jio_ni
6059 : [기초-비트단위논리연산] 비트단위로 NOT 하여 출력하기(설명)(py)
상단으로

티스토리툴바