开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3488|回复: 12
收起左侧

[易语言纯源码] 非汇编实现进制转换10到16的,支持负数

[复制链接]
结帖率:100% (16/16)
发表于 2018-6-26 10:42:44 | 显示全部楼层 |阅读模式   福建省福州市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
.版本 2
.支持库 spec
.子程序 __启动窗口_创建完毕
.局部变量 a, 整数型
a = 取启动时间 ()
' 调试输出 (进制_十到十六 (-180140, 真))
' 调试输出 (进制_十到十六 (180140, 真))
调试输出 (进制_十到十六2 (180140))
调试输出 (取启动时间 () - a)

.子程序 进制_十到十六2, 文本型, 公开, 支持正负数
.参数 待转换数, 长整数型
.局部变量 n, 整数型
.局部变量 m, 整数型
.局部变量 a, 整数型
.局部变量 文本, 文本型
.局部变量 文本1, 文本型
.局部变量 b, 整数型
.局部变量 待加文本, 文本型
.局部变量 c, 文本型
b = 取绝对值 (待转换数)
n = 取整 (求自然对数 (b) ÷ 求自然对数 (16))
.计次循环首 (n + 1, m)
    a = 取整 (b ÷ 求次方 (16, n - m + 1))
    待加文本 = 选择 (a < 10, 到文本 (a), 字符 (a + 55))
    文本 = 文本 + 待加文本
    b = b - a × 求次方 (16, n - m + 1)
.计次循环尾 ()
.如果真 (待转换数 < 0)  ' ’负数
    .计次循环首 (取文本长度 (文本), m)
        c = 取文本中间 (文本, 取文本长度 (文本) - m + 1, 1)  ' ’依次倒取
        文本1 = 选择 (m = 1, 取补10到16 (c, 0), 取补10到16 (c, 1)) + 文本1  ' ’从右往左
    .计次循环尾 ()
    文本 = 取文本左边 (“FFFFFFFFFFFFFFFF”, 16 - 取文本长度 (文本)) + 文本1
.如果真结束
返回 (文本)

负数部分取补相对麻烦
有兴趣的可以回复一下,无需下载,直接子程序纯源码
.版本 2
.子程序 取补10到16, 文本型, , 1-15,。。。8-8;0-15,。。。7-8
.参数 参文本, 文本型, , 1-49,6-54,A-65,F-70
.参数 m, 整数型, , m为1按15取反,其他按16取反
.局部变量 a, 整数型
.局部变量 b, 整数型
.如果真 (m ≠ 1)
    m = 0
.如果真结束
b = 取代码 (参文本, )
.如果 (b < 65)  ' ’0-9
    a = 到整数 (参文本)
    .如果真 (a = 0)
        返回 (选择 (m ≠ 1, “0”, “F”))
    .如果真结束
    .如果 (a ≥ 7 - m 且 a ≤ 9)
        返回 (到文本 (16 - a - m))
    .否则
        返回 (字符 (70 - a + 1 - m))
    .如果结束
.否则
    返回 (字符 (54 - (b - 65) - m))

1.jpg

发表于 2019-4-13 22:36:33 | 显示全部楼层   广西壮族自治区桂林市
支持一下,感谢分享,顶一顶
回复 支持 反对

使用道具 举报

发表于 2018-8-6 00:07:00 | 显示全部楼层   云南省红河哈尼族彝族自治州
谢谢楼主已分享
回复 支持 反对

使用道具 举报

签到天数: 13 天

发表于 2018-6-29 08:46:27 | 显示全部楼层   广东省东莞市
谢谢分享试试
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)
发表于 2018-6-28 15:12:55 | 显示全部楼层   广东省佛山市
6666666666666666
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2018-6-27 10:06:54 | 显示全部楼层   北京市北京市
收藏了,谢谢分享
回复 支持 反对

使用道具 举报

签到天数: 11 天

发表于 2018-6-27 09:24:05 | 显示全部楼层   河北省石家庄市
顶一下顶你
回复 支持 反对

使用道具 举报

发表于 2018-6-27 06:42:25 | 显示全部楼层   湖南省长沙市
谢谢分享哦
回复 支持 反对

使用道具 举报

签到天数: 24 天

发表于 2018-6-26 18:39:25 | 显示全部楼层   湖北省武汉市

谢谢分享啊
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2018-6-26 15:01:30 | 显示全部楼层   江苏省徐州市

支持一下,感谢分享,顶一顶
回复 支持 反对

使用道具 举报

发表于 2018-6-26 13:54:08 | 显示全部楼层   江苏省扬州市
谢谢分享啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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