Salubrious 发表于 2022-1-10 23:15:19

用大位宽存储较小的数

用大位宽存较小的数
        有时, 我们需要用较大的位宽存储一个较小的数,比如, 在 16位机器上, 想要把常量100 存储为32位的类型,
就需要把这个1 存为 long 类型,
        方法是: 在常量 100 后边 加一个 l 或L , 推荐用L, 因为 l 长得太像 数字1
了, 用L 可以明显的区分开来, 100L, 这样, 编译器就会 把 100L 存储为 32位。
        类似的 ,想存储为 long long 型 64位, 就 写 ll 或 LL, 100LL, 编译器就把100LL 存储为long long 型了。
        八进制 和 十六进制 的 常量 也可以这样用。
        0144L, 编译器 也把它存储为 long 32位 。
        0x64L, 编译器 把它存储为 long 32 位。
要想把上述的这些个常量存储为无符号的, 在l前 或 l 后加上一个 u 就可以。u 就是 unsigned 的 首字母。
100uL,100LLU,0x64LLu, 都是可以的。
页: [1]
查看完整版本: 用大位宽存储较小的数