鱼C论坛

 找回密码
 立即注册
查看: 1122|回复: 0

[技术交流] C 的整数类型们

[复制链接]
发表于 2022-1-10 22:23:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 Salubrious 于 2022-1-10 22:27 编辑

           c 提供了多种整数类型,原因是: 在编码时可以根据不同的情况 选用 不同的类型,

比如  在使用数值较小的场合,使用short int 类型  , short 的取值范围是   —32768 ~ 32767 , 只要你需要用到的数值 在这个范围内, 就用 short 类型的整,
short  的 位宽是 16位,  
        long 类型, 一般是 32位宽,  取值范围是 正负 21.4亿, 用于较大的数值场合, 要想再大点的话, 就加一个 unsigned  , 成为  unsigned long, 这样, 就只能使用正数了, 范围变成了 42.8亿,

        long long 型, c 标准规定,最少为 64位, 取值范围是  正负 19位数(十进制), 这是用于数值很大的场合了,如果还不够,就再加一个 unsigned , 无符号 long long 型,
取值范围 变成了  20位数(十进制)。

        最后  , 来说一下  int 型,  int 型 是 计算机 最常用的类型, int 是处理起来最快的整数类型,  这是因为 ,int 类型 是 根据 计算机的自然字长 而定的,
自然字长  , 就是 cpu  能 一次性 处理的 固定位数, 一般 有  16位, 32位, 64位, 现在 16位机应该已经不多了, 多是 32位的、。

        short 占 16位
        long  占  32位
        long long  占  64位
        int  占   32位的可能性大一点, 还是依照自然字长而定。

        当在 32位机上编码时, 需要用到 32位的整数时, 应该使用 long 类型,这样, 在移植到16机上的话, 就 不会出现 问题, 因为, long 类型 确定是 32位的。

        16位的 short  类型 用的机会不多, 不过可少不了, 因为 , short 类型 在 int 为 32位的机器上使用 ,可以节省 空间。另外, 计算机的有些硬件 使用的 是 16位的寄存器。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 23:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表