Страницы

Поиск по вопросам

вторник, 17 декабря 2019 г.

Определить размерность типа int на контроллере

#c #embedded


Можно ли написать какую-нибудь функцию, чтобы узнать размерность типа int на конкретном
контроллере?
    


Ответы

Ответ 1



Вот так можно посчитать кол-во бит в байте, int CharBit() { unsigned char c = ~0U; int res = 1; for(; c >>= 1; ++res) {} return res; } а дальше (sizeof(int) * CharBit()). То есть кол-во char'ов и int'е умножить на кол-во битов в char'e равно кол-ву битов в int'e. Для x86: 4 * 8 = 32 Вот ещё: int IntBit() { int tmp = 0, res = 0; // 0xfffff... while(++res, tmp >>= 1) {} return res; }

Комментариев нет:

Отправить комментарий