【发布时间】:2016-09-18 16:03:20
【问题描述】:
我有整数num,它可以是负数或正数,我还有数字 P (1
我想做的是将num转换为base-P。
num > 0时我很容易做到:
int i = 0;
int A[10000];
while (num != 0)
{
A[i] = num % p;
num /= p;
i++;
}
但是num < 0的时候不知道怎么实现。
【问题讨论】:
-
好吧,我认为这个问题与所提到的问题并不重复,因为在表示任何以 p 为底的数字时,主要问题在于您如何说负数是在 base- p 系统。
-
我的问题与@πάντα 标记的问题完全不同
-
嗯,你的问题是不同的,但那里的答案也应该回答你的问题。模运算的符号是实现定义的。
-
只需向其添加“负”标志,除非您真的真的想将
-1以基数 4 存储为“3333333333333333333333333333333333...”(计算机使用二进制数的方式)。跨度>