분기 없이 개발하기
분기를 사용하지 않아야 일반적으로 좋아요.
코딩 테스트를 그만두고 이케 실무에 사용하는 거를 해야 하지 않겠나요. 이렇다 하더라도 데이터 처리가 아니면 이런 코드를 접할 일이 거의 없을 거여요.
이런 거는 안 하시나요.
목적
나머지 계산과 조건문을 사용하지 않고 두 번째 수행되는 결과를 출력하고 결과 값 0 은 or 비트 연산 값에 변화를 주지 않으므로 null과 같은 효과가 있어요.
소스코드
for(var i = 0; i < 32; i++){
var j = (i & 1) << (i >> 1);
Console.WriteLine("{0} {1}", GetBit(j, 16), j);
}
출력
0000000000000000 0
0000000000000001 1
0000000000000000 0
0000000000000010 2
0000000000000000 0
0000000000000100 4
0000000000000000 0
0000000000001000 8
0000000000000000 0
0000000000010000 16
0000000000000000 0
0000000000100000 32
0000000000000000 0
0000000001000000 64
0000000000000000 0
0000000010000000 128
0000000000000000 0
0000000100000000 256
0000000000000000 0
0000001000000000 512
0000000000000000 0
0000010000000000 1024
0000000000000000 0
0000100000000000 2048
0000000000000000 0
0001000000000000 4096
0000000000000000 0
0010000000000000 8192
0000000000000000 0
0100000000000000 16384
0000000000000000 0
1000000000000000 32768
