[TIL #9] 홀짝 구분

2024. 6. 27. 21:05·Camp/T.I.L.

짝수는 2로 나눴을 때 나머지가 0.

홀수는 1이 남는다.

 

나머지를 구하기 위한 연산자는? " % "

코드로 옮기면 다음과 같다.

 

string solution(int num) {
    
    return num % 2 ? "Odd" : "Even";
}

하지만 더 우아한 방법이 있으니...

비트 연산자를 활용하는 것이다.

 

string solution(int num) {
    
    return num & 1 ? "Odd" : "Even";
}

여기서 3과 4를 가정해 보자.

 

3은 이진수로 1 0 1,

4는 이진수로 1 0 0이다.

 

홀수는 마지 비트가 무조건 1이고 짝수는 0이다.

이걸 1과 AND 연산을 했을 때 홀수는 무조건 1이고 짝수는 0이 리턴된다.

그럼 자연스럽게 홀짝이 구분된다.

 

비트 연산자를 쓸 일이 꽤 없는 것도 아니다.

이렇게 알아두면 좋지 않을까.

'Camp > T.I.L.' 카테고리의 다른 글

[TIL #11] 나머지가 1이 되는 수 찾기  (0) 2024.07.01
[TIL #10] 자릿수 더하기 / 약수의 합  (0) 2024.06.28
[TIL #8] 배열의 평균값  (0) 2024.06.26
[TIL #7] 짝수의 합 구하기  (0) 2024.06.25
[TIL #6] Github Page로 웹페이지 배포  (0) 2024.06.24
'Camp/T.I.L.' 카테고리의 다른 글
  • [TIL #11] 나머지가 1이 되는 수 찾기
  • [TIL #10] 자릿수 더하기 / 약수의 합
  • [TIL #8] 배열의 평균값
  • [TIL #7] 짝수의 합 구하기
BVM
BVM
  • BVM
    E:\
    BVM
  • 전체
    오늘
    어제
    • 분류 전체보기 (168)
      • Thoughts (14)
      • Study (69)
        • Japanese (3)
        • C++ & C# (46)
        • Javascript (3)
        • Python (14)
        • Others (3)
      • Play (1)
        • Battlefield (1)
      • Others (11)
      • Camp (73)
        • T.I.L. (57)
        • Temp (1)
        • Standard (10)
        • Challenge (3)
        • Project (1)
  • 블로그 메뉴

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

  • 공지사항

    • 본 블로그 개설의 목적
  • 인기 글

  • 태그

    베데스다
    discord py
    Server
    암호화
    Python
    Network
    로깅
    서버
    Asio
    Dalamud
    discord
    C++
    프로그래머스
    Selenium
    네트워크 프로그래밍
    스타필드
    FF14
    IOCP
    bot
    네트워크
    c#
    docker
    7계층
    클라우드
    boost
    OSI
    포인터
    JS
    cloudtype
    db
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
BVM
[TIL #9] 홀짝 구분
상단으로

티스토리툴바