C# 비트 연산자(Bitwise Operator) 활용하기
using System;
class Program
{
static void Main(string[] args)
{
var input = Console.ReadLine();
var num = Int32.Parse(input);
Console.WriteLine($"{num} is {IsOdd(num)}");
Console.WriteLine($"{num} half = {Half(num)}");
}
static string IsOdd(int n)
{
return (n & 1) == 0 ? "even" : "odd";
}
static int Half(int n)
{
return n >> 1;
}
}
홀수 짝수 판별의 경우, 0001번째 자리와 비교해서 곱의 법칙이 성립하면 홀수, 성립하지 않으면 짝수다.
반으로 나누기의 경우, 0010 = 2의 값을 시프트 연산으로 오른쪽으로 밀면 0001 = 1의 값으로 나눠진다.
함께 읽으면 좋은 글
'프로그래밍 > C#' 카테고리의 다른 글
C# 제네릭 대리자(Generic Delegate) (1) | 2024.03.26 |
---|---|
C# list 랜덤(random) 하게 섞기 (0) | 2024.03.21 |
C# char를 int로 바꾸는데 '0'을 빼는 이유 (0) | 2024.02.26 |
C# StringBuilder에 대해서 (0) | 2024.02.21 |
C# 웹 인증(Authentication) & 권한(Authorization) 코드 작성하기 (0) | 2024.02.19 |
댓글