【问题标题】:Can int_leastN_t and int_fastN_t have padding bits?int_leastN_t 和 int_fastN_t 可以有填充位吗?
【发布时间】:2022-01-23 19:06:18
【问题描述】:

int_leastN_tint_fastN_t 可以有填充位吗?

由于 C11, 7.20.1.2 最小宽度整数类型和 C11, 7.20.1.3 最快最小宽度整数类型都没有“无填充位”,因此我得出结论 int_leastN_tint_fastN_t 可以有填充位。对吗?

【问题讨论】:

  • 如果您在 32 位系统上使用 int_fast8_t 并获得 32 位类型,您会如何称呼不包含您的值的 24 位?据我所知,没有要求编译器将这些用于符号扩展等 - 它们也可能是虚拟填充。

标签: c integer language-lawyer padding c11


【解决方案1】:

是的,只有 (u)intN_tunsigned char 被指定为无焊盘。

如今,任何整数类型的填充都很少见。

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 2012-12-05
    • 2011-09-30
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 2018-01-20
    相关资源
    最近更新 更多