코드업 C언어 기초 100제 - [기초-비트시프트]

6720·2022년 9월 21일
0

CodingTest(코드업)

목록 보기
7/13
post-thumbnail

👨‍🏫 이번 목표

코드업 C언어 기초 100제에서 [기초-비트시프트] 풀기

📒 문제 풀이

1047번

정수 1개를 입력받아 2배 곱해 출력해보자

(단, 비트단위시프트연산자를 사용하는 것을 원칙으로 한다.)

  • 내가 쓴 답
#include <stdio.h>

int main() {
	int a;
	scanf("%d", &a);
	printf("%d", a<<1);
	return 0;
}
  • 정답 여부: O

만약에 a가 10이라면? (10은 2비트로 1010으로 표현)
a<<1 -> 10100 (왼쪽으로 이동) / 20 (*2^1)
a>>1 -> 101 (오른쪽으로 이동) / 5 (*2^-1)

즉, 비트연산자 다음에 나오는 숫자만큼 2의 n승을 곱하는 것.
※ 이름이 '비트시프트연산자'임을 잊지 말 것.



1048번

정수 2개(a, b)를 입력받아 a를 2^b배 곱한 값으로 출력해보자.

(단, 0 <= a <= 10, 0 <= b <= 10이다.)

  • 내가 쓴 답
#include <stdio.h>

int main() {
	int a, b;
	scanf("%d %d", &a, &b);
	printf("%d", a<<b);
	return 0;
}
  • 정답 여부: O



✨ 후기

1) 쉽긴 하지만 막상 의미를 모른 상태에서 만나면 이해조차 못할 수 있으니 잘 알아두자.

profile
뭐라도 하자

0개의 댓글