int_leastN_t 和 int_fastN_t 可以有填充位吗?
Posted
技术标签:
【中文标题】int_leastN_t 和 int_fastN_t 可以有填充位吗?【英文标题】:Can int_leastN_t and int_fastN_t have padding bits? 【发布时间】:2022-01-23 19:06:18 【问题描述】:int_leastN_t
和 int_fastN_t
可以有填充位吗?
由于 C11, 7.20.1.2 最小宽度整数类型和 C11, 7.20.1.3 最快最小宽度整数类型都没有“无填充位”,因此我得出结论 int_leastN_t
和 int_fastN_t
可以有填充位。对吗?
【问题讨论】:
如果您在 32 位系统上使用int_fast8_t
并获得 32 位类型,您会如何称呼不包含您的值的 24 位?据我所知,没有要求编译器将这些用于符号扩展等 - 它们也可能是虚拟填充。
【参考方案1】:
是的,只有 (u)intN_t
和 unsigned char
被指定为无焊盘。
如今,任何整数类型的填充都很少见。
【讨论】:
以上是关于int_leastN_t 和 int_fastN_t 可以有填充位吗?的主要内容,如果未能解决你的问题,请参考以下文章
__setattr__和__delattr__和__getattr__
描述符(\_\_get\_\_和\_\_set\_\_和\_\_delete\_\_)
Python-__init__ 和 __new__区别和原理