Se citește un șir de n numere naturale. Să se afișeze câte cifre au fiecare dintre numerele citite în
reprezentarea în baza de numerație 2.
Exemplu: pentru n=2, pentru numerele citite:
45 se afișează 6 cifre binare
14 se afișează 4 cifre binare

Răspuns :

#include <iostream>

#include <vector>

#include <climits>

int main() {

const uint64_t bits = sizeof(uint64_t) * CHAR_BIT;

uint64_t i, n;

std::cin >> n;

std::vector<uint64_t> vec(n);

for (i = 0; i < n; ++i)

std::cin >> vec[i];

for (i = 0; i < n; ++i)

std::cout << (vec[i] ? bits - __builtin_clzl(vec[i]) : bits) << '\n';

}