Uint32和C中的unsigned int有什么区别?

是不是一样?如果没有:有什么区别?
如果是,那么你为什么需要这种类型?
uint32_t(或者是前C 11编译器调用它)保证是32位无符号整数; unsigned int是编译器最好调用unsigned int的无符号整数,只要它符合标准的要求(要求它为0-65535最小范围).

像int一样,unsigned int通常是一个对当前架构进行操作的整数(通常适用于寄存器),因此在需要“正常”,快速整数时使用.

当您需要一个精确的宽度整数时,会使用uint32_t,例如要序列化到文件,或者当您需要精确的范围,或者依靠无符号的溢出恰好发生在2 ^ 32-1.

例如,在16位处理器上,unsigned int通常将是16位宽,而uint32_t将必须是32位宽.

顺便提一下,正如@marc Glisse所指出的那样,当unsigned int始终存在时,uint32_t不是强制的 – 特定的编译器实现可能不提供它.这主要是因为不是所有的平台都可以轻松提供这种类型(通常是具有奇怪的字大小的DSP).

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...