fbpx

Problema #2672 – primulbit – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

În reprezentarea în baza 2 a unui număr natural:

  • primul bit (cel mai din stânga) este cel mai semnificativ, ultimul bit este cel mai puțin semnificativ;
  • biții se numerotează de la dreapta la stânga, începând de la 0.

Se citește numărul n. Să se determine numărul de ordine al celui mai semnificativ bit.

Date de intrare

Programul citește de la tastatură numărul n într-o variabilă de tip întreg pe 64 de biți fără semn.

Date de ieșire

Programul va afișa pe ecran poziția primului bit a lui n de la stânga la dreapta.

Restricții și precizări

  • valoarea lui n se poate reprezenta pe 64 de biți, fără semn;

Exemplu

Intrare

5

Ieșire

2

Explicație

Structura biților lui 5 este 101, primul bit de 1 fiind pe poziția 2. Numerotarea s-a făcut de la dreapta spre stânga, începând de la 0.

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

int main()
{
    unsigned long long n;
    cin >> n;
    cout << (int)log2(n);
    return 0;
}
Comentarii

S-ar putea sa iti placa