c언어
C언어 - Left shift
pi92
2021. 3. 2. 19:33
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int num, n;
int i;
int x = 0x80000000;
scanf("%d %d", &num, &n);
for (int i = 0; i < 32; i++) // 입력값 출력
{
if (i % 4 == 0 && i != 0)
putchar(' ');
if (num & (1 << (31 - i)))
putchar('1');
else
putchar('0');
}
putchar('\n');
//연산과정
for (i = 0; i < n; i++) {
if (num & x)
num = (num << 1) | 1; // 음수일경우 1추가 (or연산자 이용)
else
num = num << 1;
}
for (int i = 0; i < 32; i++) // 출력값 출력
{
if (i % 4 == 0 && i != 0)
putchar(' ');
if (num & (1 << (31 - i)))
putchar('1');
else
putchar('0');
}
return 0;
}