# PBinfo #3590 – bitdistance – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: Darius

## Enunț

Cerința
Se dă un număr natural n. Considerând reprezentarea in baza 2 a acestui număr, calculați distanța dintre primul bit setat și ultimul bit setat. Distanța dintre 2 biți este egală cu numărul de biți aflați intre biții respectivi, inclusiv aceștia.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran distanța dintre primul și ultimul bit setat al numărului citit.

Restricții și precizări

\(1 ≤ n < 2^{64}\)

Exemplu:
Intrare

82
Ieșire

6
Intrare

4
Ieșire

1
Explicație
\(82_{10} = 1010010_{2}\)
\(4_{10} = 100_{2}\)

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
    unsigned long long x;
    cin >> x;
    cout << 64 - __builtin_clzll(x) - __builtin_ctzll(x);
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/3590)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/3590/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-3590/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
