C++/C++ Common

Bit Shift

doublerabbits 2023. 3. 27. 20:02
#include "pch.h"
#include <iostream>
#include <bitset>
#include <string>

using namespace std;
using namespace System;

int main()
{
    //  0000010000000000    1024
    //  0000001000000000    1024 >> 1
    //  0000000000000001    1024 >> 10
    //  0000000000000000    1024 >> 11
    //  0000000000000010    1024 >> 10 << 1

    unsigned short short11 = 1024;
    bitset<16> bitset11{ short11 };
    cout << bitset11 << " - " << short11 << endl;

    unsigned short short12 = short11 >> 1;  //  512
    bitset<16> bitset12{ short12 };
    cout << bitset12 << " - " << short12 << endl;

    unsigned short short13 = short11 >> 10; //  1
    bitset<16> bitset13{ short13 };
    cout << bitset13 << " - " << short13 << endl;

    unsigned short short14 = short11 >> 11; //  0
    bitset<16> bitset14{ short14 };
    cout << bitset14 << " - " << short14 <<endl;

    unsigned short short15 = short13 << 1; //  2
    bitset<16> bitset15{ short15 };
    cout << bitset15 << " - " << short15 << endl;

    std::string str;
    std::getline(std::cin, str);

    return 0;
}