【发布时间】:2016-09-20 18:10:27
【问题描述】:
设ib 为输入基址,ob 为输出基址。 str 是任意大整数 x 的 ASCII 表示。我需要定义f 如:
f(str="1234567890", ib=10, ob=16) = {4, 9, 9, 6, 0, 2, 13, 2}
... 其中f 的返回类型是一个int 数组,其中包含该整数的基本ob 数字。我们假设2 >= ob <= MAX_INT 和2 >= ib <= 10 和str 将始终是一个有效的字符串(不需要否定)。
【问题讨论】:
-
一个以零结尾的 int 数组是什么样的?在您的示例中,我猜想
{4, 9, 9, 6, 0, 2, 13, 2, 0}将是{4, 9, 9, 6}如果它是零终止的。 -
@Welbog,好吧,直觉上,我会用对数来处理这个问题。
-
@4386427 你是对的,没有注意到这一点。编辑。
-
@qleguennec - 使用
str is the ascii representation of some arbitrary large integer x你不能使用任何正常的计算。输入的长度可能为 1.000.000 个字符。 -
@4386427 是的,这就是重点。
标签: c math digits arbitrary-precision