|
发表于 2012-3-16 22:58:06
|
显示全部楼层
江苏省南京市
.版本 2
.子程序 取十进制, 整数型, , 将非十进制的标准格式文本转换成十进制整数值
.参数 欲转换的值, 文本型, , 欲转换的值,文本型!
.参数 数值类型, 整数型, 可空, 0,#十六进制;1,#十进制(默认);2,#八进制;3,#二进制
.局部变量 s, 整数型, , , 最终结果
.局部变量 a, 整数型, , , 中间变量
.局部变量 b, 整数型, , , 中间变量
.局部变量 c, 文本型, , , 中间变量
.局部变量 d, 整数型, , , 中间变量
欲转换的值 = 到小写 (欲转换的值)
.如果真 (是否为空 (数值类型))
数值类型 = 1
.如果真结束
s = 0
.判断开始 (数值类型 = 0)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“f”, ) 且 取代码 (c, ) ≥ 取代码 (“a”, ) 或 取代码 (c, ) ≤ 取代码 (“F”, ) 且 取代码 (c, ) ≥ 取代码 (“A”, ))
.如果真 (取代码 (c, ) ≥ 取代码 (“A”, ) 且 取代码 (c, ) ≤ 取代码 (“F”, ))
d = 取代码 (c, ) - 取代码 (“A”, ) + 10
.如果真结束
.如果真 (取代码 (c, ) ≥ 取代码 (“a”, ) 且 取代码 (c, ) ≤ 取代码 (“f”, ))
d = 取代码 (c, ) - 取代码 (“a”, ) + 10
.如果真结束
.如果真结束
.如果真 (取代码 (c, ) ≤ 取代码 (“9”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (16, b - 1) × d
.变量循环尾 ()
.默认
.判断结束
.判断开始 (数值类型 = 1)
s = 到数值 (欲转换的值)
.默认
.判断结束
.判断开始 (数值类型 = 2)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“7”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (8, b - 1) × d
.变量循环尾 ()
.默认
.判断结束
.判断开始 (数值类型 = 3)
a = 取文本长度 (欲转换的值)
.变量循环首 (1, a, 1, b)
c = 取文本中间 (欲转换的值, a - b + 1, 1)
.如果真 (取代码 (c, ) ≤ 取代码 (“1”, ) 且 取代码 (c, ) ≥ 取代码 (“0”, ))
d = 到数值 (c)
.如果真结束
s = s + 求次方 (2, b - 1) × d
.变量循环尾 ()
.默认
.判断结束
返回 (s)
.子程序 十六进制转文本, 文本型, , By:泪闯天涯
.参数 欲转换文本, 文本型
.局部变量 Bin, 字节集
.局部变量 n, 整数型
.局部变量 i, 整数型
n = 取文本长度 (欲转换文本) ÷ 2
Bin = 取空白字节集 (n)
.计次循环首 (n, i)
Bin [i] = 取十进制 (取文本中间 (欲转换文本, (i - 1) × 2 + 1, 2), 0)
.计次循环尾 ()
返回 (到文本 (Bin))
.子程序 转十六进制文本, 文本型, , By:泪闯天涯
.参数 欲转换文本, 文本型
.局部变量 Bin, 字节集
.局部变量 str, 文本型
.局部变量 i, 整数型
Bin = 到字节集 (欲转换文本)
.计次循环首 (取字节集长度 (Bin), i)
str = str + 取文本右边 (“00” + 取十六进制文本 (Bin [i]), 2)
.计次循环尾 ()
返回 (str)
|
|