Количество цифр в целой части

168
05 марта 2019, 17:20

Как во время компиляции узнать количество цифр в целой части числа?

constexpr int a = 5; // ответ 1
constexpr short b = 100; // ответ 3
constexpr double c = 10.5 // ответ 2
Answer 1

Тем же способом, что и обычно.

Домашнее задание: Придумать, что делать, если дробное число не влезаeт в long long.

#include <iostream>
constexpr int count_digits(long long x) 
{
    int ret = 0;
    do
        ret++;
    while (x /= 10);
    return ret;
}
int main()
{
    constexpr int a = 5;
    constexpr short b = 100;
    constexpr double c = 10.5;
    constexpr int d = count_digits(a);
    constexpr int e = count_digits(b);
    constexpr int f = count_digits(c);
    std::cout << d << '\n';
    std::cout << e << '\n';
    std::cout << f << '\n';
}
READ ALSO
C++, как сделать строку нечитаемой в hex [закрыт]

C++, как сделать строку нечитаемой в hex [закрыт]

Есть программа в которой определяется переменная типа stringПосле ее определения в hex editor'е присутствует эта строка

150
Извлечь последний элемент множества

Извлечь последний элемент множества

Как извлечь последний элемент std::set?

176
Итератор для ветора в векторе

Итератор для ветора в векторе

Имеем вектор vector<vector<string>> all; в него пихем

164
c++ friend методы

c++ friend методы

Я хочу открыть методу класса B полный доступ к приватным членам класса A, но получаю от компилятора непонятное сообщение об ошибке

147