Как сохранить 32-битную целочисленную переменную в чистом C на 8051 uC

Я пытаюсь написать какую-нибудь программу на 8051 ° C на C. Проблема в том, что самое длинное целое число равно 16 битам. Можно ли создать мою собственную 32-битную целочисленную переменную без знака? Конечно, он должен поддерживать все операции, такие как +, -, << и т. Д.

Если это невозможно, что является альтернативой? Для меня единственный способ, который приходит мне в голову - это иметь два 16-битных целых числа. Но в этом решении я думаю, что не могу использовать стандартные операторы. Во время всех операций я должен был помнить, как модифицировать два целых числа.

Есть ли лучший способ?

Заранее спасибо.

1 ответ

Решение

Если ваша реализация компилятора /libc соответствует C99, вы можете использовать

uint32_t

тип для представления 32-разрядных целых чисел без знака. Если это не так, вы все равно можете дать

unsigned long

попробуйте (напечатайте его sizeof, чтобы увидеть, насколько он велик).

Другие вопросы по тегам