为什么我会收到 256 位算术错误:在 C++23、Clang-18 中“不支持位大小大于 128 的 unsigined _BitInt”?

问题描述 投票:0回答:1

我需要在带有arm处理器的Mac上的C++代码中使用256位算术。 根据 this Stack Overflow 答案,C++23 通过 _BitInt(256) 具有 256 位算术,并且已在 Clang-16 中实现。我刚刚通过

brew install llvm
安装了它并使用 clang++ 输出进行编译

错误:不支持位大小大于 128 的无符号 _BitInt。

我做错了什么还是上面链接的答案不正确?我意识到有些讨论是关于 C 的,但也有关于 C++ 的讨论。

clang llvm clang++ c++23
1个回答
0
投票

此 cppreference 页面 说:

_BitInt(n)
(也可用作
signed _BitInt(n)
),位精确有符号整数类型(其中 n 被表示精确宽度(包括符号位)的整数常量表达式替换,不能大于
<limits.h> 中的 BITINT_MAXWIDTH) 

您的中如何定义BITINT_MAXWIDTH?

© www.soinside.com 2019 - 2024. All rights reserved.