扩展整数类型的示例?

  • 本文关键字:整数 类型 扩展 c
  • 更新时间 :
  • 英文 :


从C99开始,C支持实现定义的扩展整数类型(6.2.5 p7)。 是否有任何实现实际实现扩展整数类型?

我知道 gcc 的__int128,它目前被视为语言扩展,并且在 gcc 的实现定义行为文档 (J.3.5) 中没有正式列为扩展整数类型。 我在clang或MSVC的文档中找不到任何提到的内容。 Solaris 声明没有扩展整数类型。

在什么是"扩展整数类型"中有一些相关的讨论?,但唯一提到的其他候选者是在旧版本的 MSVC 中__int64的,并且评论似乎同意它不是正式的扩展整数类型,因为该版本的 MSVC 是 C90。

扩展整数类型的示例?
是否有任何实现实际实现扩展整数类型?

各种处理器具有 24 位宽度的指令和恒定内存。

支持此类微芯片处理器的编译器提供(u)int24_t.

添加到 C99 的int24_t类型 现在,在使用 C99 库和 CCI 未处于活动状态时,int24_t和uint24_t类型(以及现有的__int24和__uint24类型)可用。


尽管某些编译器确实提供 128 位整数类型,但如果该类型是扩展整数类型,则 C 库将要求(u)intmax_t至少为该宽度。 C11dr 7.20.1.5

C 还需要"在intmax_t/uintmax_t中完成的预处理器算术"。

我怀疑提供intN(N> 64)的编译器将其作为语言扩展

我知道没有编译器存在(u)int128_t(作为扩展整数类型)。

最新更新