功能 二进制格式化(数值文本,位数) 
    //先判断是否十六进制,判断#字符 
    变量 转换后的文本="" 
    如果(字符串长度(数值文本)>=13) //可能万亿? 
        如果(字符串长度(数值文本)>=位数) 
            转换后的文本=数值文本 
        否则 
            转换后的文本=补码(数值文本,32) 
        结束 
    否则 
        如果(字符串查找(数值文本,"#")>-1) 
            //十六进制转10 
            转换后的文本=转字符型(转整型(数值文本,0)) 
        否则 
            转换后的文本=数值文本 
        结束 
        //正则检查是否十进制 
        变量 正则表达公式 = "[1-9]" 
        变量 返回找到字符的数组=数组() 
        返回找到字符的数组=正则表达式匹配(转换后的文本,正则表达公式,假,假) 
        变量 找到十进制特征=数组大小(返回找到字符的数组) 
         
        如果(找到十进制特征>0) 
            变量 转换后的数值=转整型(转换后的文本) 
            转换后的文本=十进制转二进制(转换后的数值) 
        结束 
        转换后的文本=补码(转换后的文本,32) 
    结束 
    //变OL.动作提示("转:"&转换后的文本,"") 
    返回 转换后的文本 
结束 
 
功能 十进制转十六进制(十进制数值) 
    变量 当前值="" 
    变量 结果累加值 = "" 
    变量 十进制处理值=转整型(十进制数值) 
    循环(十进制处理值>0) 
        当前值=转字符型(十进制处理值%16) 
        选择(当前值) 
            条件 "10" 
            当前值 = "A" 
            条件 "11" 
            当前值 = "B" 
            条件 "12" 
            当前值 = "C" 
            条件 "13" 
            当前值 = "D" 
            条件 "14" 
            当前值 = "E" 
            条件 "15" 
            当前值 = "F" 
        结束 
        结果累加值 = 当前值 & 结果累加值  
        十进制处理值 = 取整(十进制处理值/16) 
        //调试输出(十进制处理值) 
    结束 
    返回 结果累加值 
结束 
 
 
功能 十进制转二进制(十进制参数) 
    变量 字符串累加值="" 
    变量 十进制数值=转整型(十进制参数) 
    循环(十进制数值!=1) //辗转相除 
        如果((十进制数值 % 2)==0) 
            十进制数值=取整((十进制数值/2)) //除2取整 
            字符串累加值="0"&字符串累加值 
        否则 
            十进制数值 = 取整(((十进制数值-1)/2)) //除2取整 
            字符串累加值 = "1" & 字符串累加值 //不能被2整除 
        结束 
    结束  
    如果(十进制数值!=0)  
        //除不尽 
        字符串累加值="1"&字符串累加值 
    结束 
    返回 字符串累加值 
结束 
 
功能 二进制转十进制(二进制字符串) 
    变量 字符串文本长度=字符串长度(二进制字符串) 
    变量 按位计权累加值=0 
    变量 字符串位数索引值=字符串文本长度 
    变量 取单个数值=0 
    循环(字符串位数索引值>=1) 
        取单个数值=转整型(字符串截取(二进制字符串,字符串位数索引值-1,字符串位数索引值)) 
        按位计权累加值=按位计权累加值+(求次方(2,(字符串文本长度-字符串位数索引值)))*取单个数值 
        字符串位数索引值=字符串位数索引值-1 
    结束 
    返回 按位计权累加值 
结束 
 
功能 求次方(原值,几次方) 
    //这里原值,无法判断是否为浮点型,太坑了 
    变量 累乘值 
    如果(是否整型(几次方)==true) 
        如果(几次方==0) 
            累乘值=1 
        否则 
            累乘值=原值 
        结束 
        变量 计算几次=几次方-1 
        循环(计算几次>0) 
            累乘值=累乘值*原值 
            计算几次=计算几次-1 
        结束 
    结束 
    返回 累乘值 
结束 
 
功能 与计算(数字字符串A,数字字符串B,返回类型=0) 
    //返回0十进制计算结果,1十六进制结果,2二进制结果 
    //数字字符串AB 必须是格式化为32的字符串或 十进制 或 十六进制数值,十六进制必加#标记 
    变量 二进制字符串A=二进制格式化(数字字符串A,32) 
    变量 二进制字符串B=二进制格式化(数字字符串B,32) 
    变量 字符串长度A=字符串长度(二进制字符串A) 
    变量 字符串长度B=字符串长度(二进制字符串B) 
    变量 与运算结果="" 
    如果(字符串长度A==字符串长度B) 
        变量 字符串位置索引=0 
        循环(字符串位置索引<字符串长度A) 
            变量 单个字符A=字符串截取(二进制字符串A,字符串位置索引,字符串位置索引+1) 
            变量 单个字符B=字符串截取(二进制字符串B,字符串位置索引,字符串位置索引+1) 
            如果(单个字符A=="1"&&单个字符B=="1") 
                与运算结果=与运算结果&"1" 
            否则 
                与运算结果=与运算结果&"0" 
            结束 
            字符串位置索引=字符串位置索引+1 
        结束 
    结束 
    选择(返回类型) 
        条件 0 
        与运算结果=二进制转十进制(与运算结果) //转10进制 
        条件 1 
        与运算结果=十进制转十六进制(二进制转十进制(与运算结果)) //转16进制 
    结束 
    返回 与运算结果 
结束 
 
功能 或计算(数字字符串A,数字字符串B,返回类型=0) 
    //返回0十进制计算结果,1十六进制结果,2二进制结果 
    //数字字符串AB 必须是格式化为32的字符串或 十进制 或 十六进制数值,十六进制必加#标记 
    变量 二进制字符串A=二进制格式化(数字字符串A,32) 
    变量 二进制字符串B=二进制格式化(数字字符串B,32) 
    变量 字符串长度A=字符串长度(二进制字符串A) 
    变量 字符串长度B=字符串长度(二进制字符串B) 
    变量 或运算结果="" 
    如果(字符串长度A==字符串长度B) 
        变量 字符串位置索引=0 
        循环(字符串位置索引<字符串长度A) 
            变量 单个字符A=字符串截取(二进制字符串A,字符串位置索引,字符串位置索引+1) 
            变量 单个字符B=字符串截取(二进制字符串B,字符串位置索引,字符串位置索引+1) 
            如果(单个字符A=="1"||单个字符B=="1") 
                或运算结果=或运算结果&"1" 
            否则 
                或运算结果=或运算结果&"0" 
            结束 
            字符串位置索引=字符串位置索引+1 
        结束 
    结束 
    选择(返回类型) 
        条件 0 
        或运算结果=二进制转十进制(或运算结果) //转10进制 
        条件 1 
        或运算结果=十进制转十六进制(二进制转十进制(或运算结果)) //转16进制 
    结束 
    返回 或运算结果 
结束 
 
功能 补码(二进制字符串,位数=32) 
    //通常补码32位 
    变量 字符串文本长度=字符串长度(二进制字符串) 
    变量 余下补零的位数=位数-字符串文本长度 
    变量 补前字符="" 
    循环(余下补零的位数>0) 
        补前字符=补前字符&"0" 
        余下补零的位数=余下补零的位数-1 
    结束 
    返回 补前字符&二进制字符串 
结束 
 
功能 反码(二进制字符串) 
    变量 字符串文本长度=字符串长度(二进制字符串) 
    变量 反码结果="" 
    循环(字符串文本长度>0) 
        变量 取单个字符=字符串截取(二进制字符串,字符串文本长度-1,字符串文本长度) 
        如果(取单个字符=="1") 
            反码结果=反码结果&"0" 
        否则 
            反码结果=反码结果&"1" 
        结束 
        字符串文本长度=字符串文本长度-1 
    结束 
    返回 反码结果 
结束 |