Salubrious 发表于 2022-1-10 22:23:01

C 的整数类型们

本帖最后由 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位的寄存器。
页: [1]
查看完整版本: C 的整数类型们