[TIL] 따배씨16일차

9674 단어 CTILC

이진수 3_7

비트단위 연산자 3_8

#include <iostream>
#include <bitset>
int main()
{
	using namespace std;

	// 비트 연산자
	// << left shift
	// >> right shift
	// ~ , & , | . ^
	
	//left shift
	//10진수의 경우 2를 곱하는 경우와 같다.
	unsigned int a = 3;

	cout << std::bitset<8>(a << 1)<<" "<<(a<<1) << endl;
	cout << std::bitset<8>(a << 2)<<" "<<(a<<2) << endl;
	cout << std::bitset<8>(a << 3)<<" "<<(a<<3) << endl;
	cout << std::bitset<8>(a << 4)<<" "<<(a<<4) << endl;

	//right shift
	//10진수의 경우 2를 나누는 경우와 같다.
	unsigned int b =1024;

	cout << std::bitset<16>(b >> 1) << " " << (b >> 1) << endl;
	cout << std::bitset<16>(b >> 2) << " " << (b >> 2) << endl;
	cout << std::bitset<16>(b >> 3) << " " << (b >> 3) << endl;
	cout << std::bitset<16>(b >> 4) << " " << (b >> 4) << endl;

	//이진수 표현은 앞에 0b를 붙인다.
	unsigned int c = 0b1100;
	unsigned int d = 0b0110;
	
	
	cout << std::bitset<4>(c & b) << endl; // and
	cout << std::bitset<4>(c | b) << endl; // or
	cout << std::bitset<4>(a ^ b) << endl; //xor

	return 0;

}

좋은 웹페이지 즐겨찾기