Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试用 C 语言在 8051 uC 上编写一些软件。问题是最长整数等于 16 位。是否可以创建自己的 32 位无符号整数变量?当然它应该支持所有操作,如 +、-、<< 等。
如果不可能,还有什么选择?对我来说,我想到的唯一方法是拥有两个 16 位整数。但在那个解决方案中,我认为我不能使用标准运算符。在所有操作中,我必须记住修改两个整数。
有没有更好的办法?
提前致谢。
如果您的编译器/libc 实现符合 C99,您可以使用
uint32_t
类型来表示 32 位无符号整数。如果没有,你仍然可以给
unsigned long
试一试(打印它的 sizeof 以查看它有多大)。