.版本 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))
|