【发布时间】:2021-01-05 11:36:01
【问题描述】:
如何在 c/c++ 中创建具有自定义字节大小的类型?
- 我想创建一个 128 或更多字节的 int
- 我使用了 struct,但它只能在 1 到 32 个字节范围内创建
- 我不想使用数组、向量或类似的东西
- 我只想创建一个超过 128 字节的 int
【问题讨论】:
-
使用自定义类型支持编写您自己的编译器。
-
不,编译器绝对没有说有 32 个字节的限制,除非你使用的是一些古代恐龙的东西。
-
我不想使用数组、向量或类似的东西 -- 那么你将使用什么魔法来创建不存在的东西,除非你写代码来做吗?该代码将以某种方式使用某种聚合,不是吗?
-
@احمدمحمودی想象一下你将如何在汇编中解决这个问题。在可以对大整数执行的操作方面,您必然会受到架构的限制。对它的操作必须将值分解为 CPU 可以容纳和迭代这些组件的较小值。这就是“缓慢”的 Bigint 库正在做的事情。组装速度不会快很多,因为最终限制在硬件级别。
-
@احمدمحمودی -- gmp 等库已经实现了您正在寻找的内容。