fbpx

Problema #2577 – getbit – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dau mai multe perechi de forma număr, bit. Afișați pentru fiecare pereche valoarea bitului corespunzător din reprezentarea internă pe 64 de biți a numărului dat.

Date de intrare

Programul citește de la tastatură numărul T, iar apoi T linii care conțin, fiecare, câte două numere separate prin spațiu n și b cu semnificația că se cere valoarea bitului de pe poziția b din reprezentarea internă a numărului n.

Date de ieșire

Programul va afișa pe ecran, pe prima linie, neseparate prin spațiu, cele T valori, determinate, în ordinea dată.

Restricții și precizări

  • numerele n sunt memorate cu tipul de date pe 64 de biți, cu semn
  • numărul b este natural, cuprins între 0 și 63, inclusiv

Exemplu

Intrare

2
6 0
5 2

Ieșire

01

Explicație

Biții unui număr sunt numerotați de la dreapta începând cu poziția 0. Astfel, ultimul bit al lui 6 este 0 iar antepenultimul bit al lui 5 este 1.

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t,b;
    unsigned long long n;
    cin>>t;
    for(int i=1;i<=t;i++)
    {
        cin>>n>>b;
        cout<<((n&(1ull<<b))>>b);
    }
    return 0;
}
Comentarii

S-ar putea sa iti placa