오브의 빛나는 별

Code Up(코드업) 1059번~1062번 (C언어) 본문

코드업(C언어)

Code Up(코드업) 1059번~1062번 (C언어)

오브의 별 2022. 3. 28. 22:31
반응형

[1059] 비트단위로 NOT 하여 출력하기

<문제>

입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.

<정답>

#include <stdio.h>

int main(void)
{
	long long int a;
	
	scanf("%d", &a);
	printf("%d", ~a);
	
	return 0;
}

비트단위(bitwise)연산자 ~ 를 붙이면 됨

※ ~ : tilde, 틸드

비트단위(bitwise) 연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor),
<<(bitwise left shift), >>(bitwise right shift)

ex) 1을 32비트 2진수로 표현하면 00000000 00000000 00000000 00000001 이고,
~1은 11111111 11111111 11111111 11111110 가 되는데 이는 -2를 의미

 

[1060] 비트단위로 AND 하여 출력하기<문제>

입력된 정수 두 개를 비트단위로 and 연산한 후 그 결과를 정수로 출력해보자.

<정답>

#include <stdio.h>

int main(void)
{
	long long int a, b;
	
	scanf("%d %d", &a, &b);
	printf("%d", a&b);
	
	return 0;
}

비트단위(bitwise)연산자 &를 사용하면 됨

&: and, ampersand, 앰퍼센드

 

[1061] 비트단위로 OR 하여 출력하기

<문제>

입력된 정수 두 개를 비트단위로 or 연산한 후 그 결과를 정수로 출력해보자.

<정답>

#include <stdio.h>

int main(void)
{
	long long int a, b;
	
	scanf("%d %d", &a, &b);
	printf("%d", a|b);
	
	return 0;
}

비트단위(bitwise) 연산자 |(or, vertical bar, 버티컬바)를 사용하면 됨

 | : 파이프(pipe)연산자

 

[1062] 비트단위로 XOR 하여 출력하기

<문제>

입력된 정수 두 개를 비트단위로 xor 연산한 후 그 결과를 정수로 출력해보자.

<정답>

#include <stdio.h>

int main(void)
{
	long long int a, b;
	
	scanf("%d %d", &a, &b);
	printf("%d", a^b);
	
	return 0;
}

비트단위(bitwise) 연산자 ^(xor, circumflex/caret, 서컴플렉스/카릿)를 사용하면 됨

^: 수학식에서 거듭제곱(power)을 나타내는 기호와 모양은 같지만,
C언어에서는 전혀 다른 배타적 논리합(xor, 서로 다를 때 1)의 의미

반응형