wsc810 发表于 2011-9-27 20:27:15

【Mathematica】求整数的任意进制转化

如题,有这样的Mathematica函数吗,如果没有怎样编程。急用,求各位好心人。

zeroieme 发表于 2011-9-28 02:26:01

将A以16进制输出:IntegerDigits

wsc810 发表于 2011-9-28 09:19:52

再问zeroieme一个问题,如何将任意进制数化为十进制数,代码是是什么,得到的结果是一个表吗,如何对两个表中的对应元素做异或运算(模变化时,不一定是二进制)。

liangbch 发表于 2011-9-29 17:04:16

任意进制,范围太大了。我只学过2,8,10,16这几种进制。对于36以上的机制,我甚至不知道他们怎么表示。

wayne 发表于 2011-9-29 23:55:25

4# liangbch
呵呵,试了一下,在Mathematica里面,如果进制数在2到36之间,可以用BaseForm 函数,表达字符就是0-9和26个字母。
如果大于36了,就用RealDigits 函数表示,返回结果就是一个序列。
如:
RealDigits
{{15, 27, 5, 17, 30, 16, 23, 15}, 8}
BaseForm
fr5hugnf36

RealDigits
{{2, 38, 14, 5, 35, 8, 21, 45}, 8}

wayne 发表于 2011-9-29 23:58:28

1# wsc810
比如将36进制的fr5hugnf转换成10进制:
FromDigits["fr5hugnf", 36]
比如将36进制的fr5hugnf转换成46进制:
RealDigits, 46]

gxqcn 发表于 2011-10-4 15:01:59

GMP 中,
2~36 进制用数字+小写字母;
-2~-26 进制用数字+大写字母;
37~62 进制用数字、大小写字母。

HugeCalc 则,
(1, 10] 进制,忽略所有非数字字符
(10,36] 进制,忽略字母的大小写区别
(36,62] 进制,A-Z 依次代表 10-35;a-z 依次代表 36-61
更高的进制转换,则输出序列。

mathematica 发表于 2012-8-3 18:36:27

常用的也就是二进制四进制八进制十六进制和十进制,多了有意思吗?
页: [1]
查看完整版本: 【Mathematica】求整数的任意进制转化