找回密码
 欢迎注册
查看: 16229|回复: 7

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

[复制链接]
发表于 2011-9-27 20:27:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
如题,有这样的Mathematica函数吗,如果没有怎样编程。急用,求各位好心人。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-9-28 02:26:01 | 显示全部楼层
将A以16进制输出:IntegerDigits[A, 16]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2011-9-28 09:19:52 | 显示全部楼层
再问zeroieme一个问题,如何将任意进制数化为十进制数,代码是是什么,得到的结果是一个表吗,如何对两个表中的对应元素做异或运算(模变化时,不一定是二进制)。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-9-29 17:04:16 | 显示全部楼层
任意进制,范围太大了。我只学过2,8,10,16这几种进制。对于36以上的机制,我甚至不知道他们怎么表示。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-9-29 23:55:25 | 显示全部楼层
4# liangbch
呵呵,试了一下,在Mathematica里面,如果进制数在2到36之间,可以用BaseForm 函数,表达字符就是0-9和26个字母。
如果大于36了,就用RealDigits 函数表示,返回结果就是一个序列。
如:
RealDigits[1234567890123, 36]
{{15, 27, 5, 17, 30, 16, 23, 15}, 8}
BaseForm[1234567890123, 36]
fr5hugnf36

RealDigits[1234567890123, 46]
{{2, 38, 14, 5, 35, 8, 21, 45}, 8}
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2011-9-29 23:58:28 | 显示全部楼层
1# wsc810
比如将36进制的fr5hugnf转换成10进制:
FromDigits["fr5hugnf", 36]
比如将36进制的fr5hugnf转换成46进制:
RealDigits[FromDigits["fr5hugnf", 36], 46]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 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
更高的进制转换,则输出序列。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2012-8-3 18:36:27 | 显示全部楼层
常用的也就是二进制四进制八进制十六进制和十进制,多了有意思吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-3-29 17:33 , Processed in 0.059965 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表