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 pe64
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; }