精易论坛
标题:
非汇编实现进制转换10到16的,支持负数
[打印本页]
作者:
zl2017
时间:
2018-6-26 10:42
标题:
非汇编实现进制转换10到16的,支持负数
.版本 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
.如果真结束
返回 (文本)
负数部分取补相对麻烦
有兴趣的可以回复一下,无需下载,直接子程序纯源码
1.jpg
(23.95 KB, 下载次数: 0)
下载附件
2018-6-26 10:35 上传
作者:
小小的人儿
时间:
2018-6-26 10:48
支持一下,感谢分享,顶一顶
作者:
花开一半
时间:
2018-6-26 13:54
谢谢分享啊
作者:
坏家伙
时间:
2018-6-26 15:01
支持一下,感谢分享,顶一顶
作者:
天雨时晴
时间:
2018-6-26 18:39
谢谢分享啊
作者:
xslyhk
时间:
2018-6-27 06:42
谢谢分享哦
作者:
网络注册网员
时间:
2018-6-27 09:24
顶一下顶你
作者:
wanzhenghe999
时间:
2018-6-27 10:06
收藏了,谢谢分享
作者:
曾几何时此地
时间:
2018-6-28 15:12
6666666666666666
作者:
gaoqing
时间:
2018-6-29 08:46
谢谢分享试试
作者:
kycheng131
时间:
2018-8-6 00:07
谢谢楼主已分享
作者:
刀锋意志
时间:
2019-4-13 22:36
支持一下,感谢分享,顶一顶
欢迎光临 精易论坛 (https://125.confly.eu.org/)
Powered by Discuz! X3.4