易语言 我要找十六转十进制的模块(是模块~!!)

十六进制转十进制的,谁帮我一下... 十六进制转十进制的,谁帮我一下 展开
 我来答
大强小屋
2010-07-07 · TA获得超过5765个赞
知道大有可为答主
回答量:2164
采纳率:50%
帮助的人:864万
展开全部
我这有,给你吧

.版本 2
.支持库 eCalc

.子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码

_临时子程序 () ' 在模块初始化代码执行完毕后调用模块测试代码
返回 (0)

.子程序 _临时子程序

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的参数及返回值类型。

.子程序 模块_进制转换, 文本型, 公开, 可以将从二进制到三十六进制的数值随意进行转换,不可以转换负数以及小数。
.参数 被转换文本, 文本型
.参数 被转换进制, 整数型
.参数 转换的进制, 整数型
.局部变量 欲转换文本, 文本型, , , 输入的文本串
.局部变量 临时文本, 文本型, , , 存放从输入的文本串中取出的一个文本
.局部变量 临时数值, 长整数型
.局部变量 计次变量1, 整数型
.局部变量 计次变量2, 整数型
.局部变量 次方数, 大数, , , 每一位数字对应的10的次方数
.局部变量 转换的进制大数1, 大数, , , 要转换的进制-1
.局部变量 转换的进制大数, 大数, , , 要转换的进制
.局部变量 被转换进制大数, 大数, , , 被转换的进制
.局部变量 临时大数, 大数, , , 将被转换数字转换成的大数
.局部变量 余数大数, 大数, , , 存放求出的余数大数
.局部变量 数值1大数, 大数, , , 只存放1
.局部变量 临时大数1, 大数, , , 将被转换数字的每一位转换成的大数

.如果真 (被转换进制 < 2 或 转换的进制 < 2 或 被转换进制 > 36 或 转换的进制 > 36) ' 判断两个“进制系数”是否正确
返回 (“参数错误-进制只能在2-36之间”)
.如果真结束
被转换文本 = 到大写 (到半角 (被转换文本)) ' 规范参数
.变量循环首 (1, 取文本长度 (被转换文本), 1, 计次变量1) ' 判断输入的数字文本是否有效
临时文本 = 取文本中间 (被转换文本, 计次变量1, 1)
.如果真 (寻找文本 (取文本左边 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 被转换进制), 临时文本, , 假) = -1)
临时文本 = “参数错误-” + 被转换文本 + “不是一个有效的” + 取文本左边 (数值到金额 (被转换进制, 真), 取文本长度 (数值到金额 (被转换进制, 真)) - 4) + “进制数!”
跳出循环 ()
.如果真结束
' 全部查找完毕
.如果真 (计次变量1 = 取文本长度 (被转换文本))
临时文本 = “”
.如果真结束

.变量循环尾 ()

' 如果临时文本不为空,说明此数字文本无效!
.如果真 (临时文本 ≠ “”)
返回 (临时文本)
.如果真结束
' 以上为数据正确性校验处理代码

.如果真 (被转换进制 = 转换的进制) ' 相同时,不用进行转换
返回 (被转换文本)
.如果真结束

.变量循环首 (1, 取文本长度 (被转换文本), 1, 计次变量1) ' 先将要转换的数字放入大数中
次方数.导入数字 (1) ' 数值1不能直接和大数类型计算,所以先放入一个大数中
被转换进制大数.导入数字 (被转换进制)
.计次循环首 (取文本长度 (被转换文本) - 计次变量1, 计次变量2) ' 求次方
次方数 = 次方数.乘 (被转换进制大数)
.计次循环尾 ()

临时大数1.导入数字 (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (被转换文本, 计次变量1, 1), , 真) - 1)
临时大数1 = 临时大数1.乘 (次方数)
临时大数 = 临时大数1.加 (临时大数) ' 临时大数即为最后转换成的大数
.变量循环尾 ()
转换的进制大数1.导入数字 (转换的进制 - 1)
转换的进制大数.导入数字 (转换的进制)
数值1大数.导入数字 (1) ' 数值1不能直接和大数类型计算,所以先放入一个大数中
.判断循环首 (临时大数.大于 (转换的进制大数1) = 真) ' 开始进制转换,除进制数取余数
余数大数 = 临时大数.求余 (转换的进制大数) ' 求出的余数
临时大数1 = 余数大数.加 (数值1大数) ' 求出的余数+1
临时数值 = 到数值 (临时大数1.导出文本 ()) ' 最后的余数
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值, 1) + 欲转换文本 ' 找出每一个余数对应的数字
临时大数 = 临时大数.除 (转换的进制大数, 10) ' 取出剩余的数字
临时大数 = 临时大数.取整数 ()
.判断循环尾 ()
临时数值 = 临时大数.导出整数 () ' 最后剩下的余数
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值 + 1, 1) + 欲转换文本 ' 整数转换结束
返回 (欲转换文本)

新建一个易模块程序,把上面的代码复制进去,编译了就可以了。
grj466721104
2010-07-07 · TA获得超过122个赞
知道答主
回答量:109
采纳率:100%
帮助的人:96.4万
展开全部
.版本 2

.子程序 转换_十六到十, 文本型, 公开, 将十六进制转换成十进制(返回十进制文本)
.参数 十六进制文本, 文本型, , 待转换的十六进制文本
.局部变量 中间文本, 文本型
.局部变量 结果, 长整数型
.局部变量 容器, 整数型

.变量循环首 (1, 取文本长度 (十六进制文本), 1, 容器)
中间文本 = 取文本中间 (十六进制文本, 容器, 1)
结果 = (寻找文本 (“0123456789ABCDEF”, 中间文本, , 真) - 1) × 求次方 (16, 取文本长度 (十六进制文本) - 容器) + 结果
.变量循环尾 ()
返回 (到文本 (结果))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
愤怒的波导弹
2010-07-09 · TA获得超过588个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:287万
展开全部
网上有一个叫超级模块的,那个里面有……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式