加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-13 20:24:59 所属栏目:Windows 来源:网络整理
导读:是不是一样?如果没有:有什么区别? 如果是,那么你为什么需要这种类型? uint32_t(或者是前C 11编译器调用它)保证是32位无符号整数; unsigned int是编译器最好调用unsigned int的无符号整数,只要它符合标准的要求(要求它为0-65535最小范围). 像int一样,unsi
是不是一样?如果没有:有什么区别?
如果是,那么你为什么需要这种类型?
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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读