C로 구현한 1047번 정수 1개 입력받아 2배 곱해 출력하기 문제 풀이입니다.
https://codeup.kr/problem.php?id=1047
#include <stdio.h>
int main() {
int input;
scanf("%d", &input);
printf("%d", input<<1);
}
정수 1개를 입력받아 2배 곱해 출력한다. 출력 시 입력받은 정수 값 * 2 를 연산하여 출력해도 되지만
정수를 2배로 곱하거나 나누어 계산해주는 비트단위 시프트 연산자 << 혹은 >> 를 이용하여 연산처리할 수 있다.
비트단위 시프트 연산자를 사용하는 방법은 아래와 같다.
#include <stdio.h>
int main() {
int a = 10; // a가 10일 때
printf("%d", a << 1); // 10을 2배 연산한 값인 20 이 출력된다.
printf("%d", a >> 1); // 10을 반으로 나눈 값인 5 가 출력된다.
printf("%d", a << 2); // 10을 4배 연산한 값인 40이 출력된다.
printf("%d", a >> 2); // 10을 반으로 나눈 후 다시 반으로 나눈 값인 2가 출력된다.
}
'코드업(CodeUp) 풀이 > C언어 기초 100제' 카테고리의 다른 글
코드업[CodeUp] (C) 1049번 풀이 (0) | 2021.08.20 |
---|---|
코드업[CodeUp] (C) 1048번 풀이 (0) | 2021.08.20 |
코드업[CodeUp] (C) 1046번 풀이 (0) | 2021.08.20 |
코드업[CodeUp] (C) 1045번 풀이 (0) | 2021.08.20 |
코드업[CodeUp] (C) 1044번 풀이 (0) | 2021.08.18 |