【发布时间】:2023-03-06 18:48:01
【问题描述】:
使用 C,一个数组有 5 个内存空间
int call[5]
我试图弄清楚如何使用数组的前 3 个空格进行 base-36 转换(意味着 1K0 base-36 等于 base-10 中的 2040),其他 2 个空格将被填充数据(可能更多的整数)。
但是... 1K0 看起来真的像一个 int 吗? (对我来说,K 看起来像一个 char,理论上,char 应该足够 -127 到 127 用于使用 base-36 进行转换)
但是,如果我尝试使用 int 而不是 char 来执行此操作会发生什么?
是否有任何替代方法可以在第一个数组中使用 base-36 转换,只与内存中其余空间的整数混合
这有关系吗? (因为数组被声明为 int)
编辑:要清楚我只想知道我是否可以声明一个 int 数组并用字符填充它,如果我不能,我该如何实现?
【问题讨论】:
-
我想提供一些额外的详细信息,说明您为什么要与 base 36 作为初学者作战,您在哪里需要它,以及是否需要对其进行数学运算或只是存储它。
-
是的,您可以声明一个
int数组并用字符填充。 -
@Arheisel 基本上我需要存储大量信息并且我受内存限制,所以我正在寻找减少数字的替代方法,int8 是不够的,所以我首先想到的是使用非标准的高基转换
-
@GoatZero 尝试使用另一个基地时,您根本不会节省任何空间。只是说。