Число разрядов в C++
Поле digits в std::numeric_limits
задает ширину значения в двоичных разрядах.
Для int оно показывает, сколько
разрядов без знака занимает число на
данной платформе. Запишем
его и выведем:
#include <limits>
#include <iostream>
std::cout << std::numeric_limits<int>::digits << "\n";
Рядом в том же шаблоне есть digits10
для десятичных цифр без потери точности -
здесь берем именно digits, то есть
ширину в битах. Сравним разрядность
int и short:
#include <limits>
#include <iostream>
std::cout << std::numeric_limits<int>::digits << "\n";
std::cout << std::numeric_limits<short>::digits << "\n";
Выведите значение digits для
unsigned int одной строкой.
Запишите long и int в
переменные через digits каждого
типа. Выведите 1, если у
long разрядов больше, иначе 0.