精易论坛

标题: 【备忘小源码】任意进制之间转换(转载;优化) [打印本页]

作者: 已注销370852    时间: 2017-9-30 13:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 尼古拉    时间: 2017-9-30 15:07
666666666666666
作者: 爱生活爱大乔    时间: 2017-9-30 15:26
我的基础太差了 完全理解不了啊,62位可以实现不
作者: 已注销370852    时间: 2017-9-30 15:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: 爱生活爱大乔    时间: 2017-9-30 16:07
如枫随风TYZ 发表于 2017-9-30 15:56
什么62位?

https://125.confly.eu.org/forum.php?mod=viewthread&tid=14071626&extra=page%3D1
作业区的这个题目啊
作者: 已注销370852    时间: 2017-9-30 16:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: 镇坛道德标杆    时间: 2017-9-30 16:28
https://125.confly.eu.org/forum.php?mod ... 14061352&extra=

论坛最强最优雅,没有之一,任意MAP可以自行修改。

顺便,精易ec的进制转换都很辣鸡,新增的那个简直辣眼睛,启蒙水平都不到。
作者: xiayu666    时间: 2017-10-1 09:53
可以的老铁
作者: 情雅    时间: 2017-10-1 17:53
.版本 2  .子程序 进制_2到62正整数互换2, 文本型, , 返回文本为空,可调用错误信息参数,查看错误原因。进制字符顺序:数字、大写字、,小写字母。 .参数 待转换文本, 文本型 .参数 转换前进制, 整数型, 可空, 范围:2-26,小于2按2计,大于62,按62计 .参数 转换后进制, 整数型, 可空, 范围:2-26,小于2按2计,大于62,按62计 .参数 错误信息, 文本型, 可空 .局部变量 基数, 文本型 .局部变量 文本长度, 整数型 .局部变量 计次, 整数型 .局部变量 十进制数, 整数型 .局部变量 转换结果, 文本型 .局部变量 位置, 整数型  .如果真 (转换前进制 < 2)     转换前进制 = 2 .如果真结束 .如果真 (转换后进制 < 2)     转换后进制 = 2 .如果真结束 .如果真 (转换前进制 > 62)     转换前进制 = 62 .如果真结束 .如果真 (转换后进制 > 62)     转换后进制 = 62 .如果真结束 基数 = “0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz” 文本长度 = 取文本长度 (待转换文本) .如果真 (文本长度 = 0)     错误信息 = 错误信息 + “2到62正整数转换2时,错误码1,待转换文本是空文本” + #换行符     返回 (“”) .如果真结束  .如果 (是否为空 (转换前进制) 或 转换前进制 = 10)     .计次循环首 (文本长度, 计次)         位置 = 寻找文本 (基数, 取文本中间 (待转换文本, 计次, 1), , 真)         .如果 (位置 = -1)             错误信息 = 错误信息 + “2到62正整数转换2时,错误码2,存在非法字符,即待转换文本含有非数字、非大写字母、非小写字母的字符存在” + #换行符             返回 (“”)         .否则             .如果 (位置 > 转换前进制)                 错误信息 = 错误信息 + “2到62正整数转换2时,错误码3,存在大于转换前进制字符存在,即待转换文本含有大于转换前进制的字符存在” + #换行符                 返回 (“”)             .否则                 十进制数 = 十进制数 + 求次方 (转换前进制, 文本长度 - 计次) × (位置 - 1)  ' 各位值*位权 得出10进制数             .如果结束          .如果结束      .计次循环尾 ()      十进制数 = 到整数 (待转换文本) .否则     .计次循环首 (文本长度, 计次)         位置 = 寻找文本 (基数, 取文本中间 (待转换文本, 计次, 1), , 真)         .如果 (位置 = -1)             错误信息 = 错误信息 + “2到62正整数转换2时,错误码4,存在非法字符,即待转换文本含有非数字、非大写字母、非小写字母的字符存在” + #换行符             返回 (“”)         .否则             .如果 (位置 > 转换前进制)                 错误信息 = 错误信息 + “2到62正整数转换2时,错误码5,存在大于转换前进制字符存在,即待转换文本含有大于转换前进制的字符存在” + #换行符                 返回 (“”)             .否则                 十进制数 = 十进制数 + 求次方 (转换前进制, 文本长度 - 计次) × (位置 - 1)  ' 各位值*位权 得出10进制数             .如果结束          .如果结束      .计次循环尾 () .如果结束 .如果 (是否为空 (转换后进制) 或 转换后进制 = 10)     转换结果 = 到文本 (十进制数) .否则     .循环判断首 ()         转换结果 = 取文本中间 (基数, 十进制数 % 转换后进制 + 1, 1) + 转换结果  ' 除X取余法         十进制数 = 十进制数 \ 转换后进制     .循环判断尾 (十进制数 ≠ 0) .如果结束  返回 (转换结果)
作者: 情雅    时间: 2017-10-1 17:55
情雅 发表于 2017-10-1 17:53
.版本 2  .子程序 进制_2到62正整数互换2, 文本型, , 返回文本为空,可调用错误信息参数,查看错误原因。进制 ...

加上小写字母可以转换到62进制,同时,存在非法字符,返回空文本。进制转换不在2-62间,调整进制
作者: wgqxj    时间: 2018-1-17 11:11
谢谢分享  学习
作者: 554755303    时间: 2018-12-1 00:46
这个可以有。给你顶一个




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4