精易论坛

标题: IEEE-754转换器,自己在做协yi解析,做的转换器 [打印本页]

作者: 小劳    时间: 2023-3-31 09:48
标题: IEEE-754转换器,自己在做协yi解析,做的转换器
自己在做协yi解析,做的转换器。咱们贴吧里没有类似的源码,所以自己写了一个,用了精易模块。将采用IEEE-754格式的16进制4位码 转换成十进制的带小数的数字,自动保留一位小数。现阶段只做了从16进制到10进制小数。逆转没做。别问为什么,问就是还没用到。

  
子程序名返回值类型公开备 注
共用IEEE754转换器1文本型 自动保留一位小数
参数名类 型参考可空数组备 注
计算方式1整数型1为16进制转10进制浮点数,其他数为10进制浮点数转16进制。单精度
需转换数据1文本型16进制为8位,10进制随意
判断 (计算方式1 = 1)
文本_逐字分割 (需转换数据1, IEEE临转1)
加入成员 (IEEE临转1, 保持数组位数1)
计次循环首 (8, 计次1 [4])
IEEE二制临存1 [计次1 [4]] = 进制转换 (IEEE临转1 [计次1 [4]], 16, 2)
如果真 (文本_取长度 (IEEE二制临存1 [计次1 [4]]) = 1)
IEEE二制临存1 [计次1 [4]] = “000” + IEEE二制临存1 [计次1 [4]]
如果真 (文本_取长度 (IEEE二制临存1 [计次1 [4]]) = 2)
IEEE二制临存1 [计次1 [4]] = “00” + IEEE二制临存1 [计次1 [4]]
如果真 (文本_取长度 (IEEE二制临存1 [计次1 [4]]) = 3)
IEEE二制临存1 [计次1 [4]] = “0” + IEEE二制临存1 [计次1 [4]]
' 2进制0补位

计次循环尾 ()
判断 (到整数 (取文本左边 (IEEE二制临存1 [7], 1)) = 0)
IEEE的S值1 = “”

IEEE的S值1 = “-”
IEEE的E值1 = 进制_二到十 (取文本右边 (IEEE二制临存1 [7], 3) + IEEE二制临存1 [8]取文本左边 (IEEE二制临存1 [5], 1))
IEEE的M值1 = 进制_二到十 (取文本右边 (IEEE二制临存1 [5], 3) + IEEE二制临存1 [6] + IEEE二制临存1 [4] + IEEE二制临存1 [1] + IEEE二制临存1 [2] + IEEE二制临存1 [2])
IEEE返回文本1 = IEEE的S值1 + 到文本 ( (1 + IEEE的M值1 × 求次方 (2, -23)) × 求次方 (2, IEEE的E值1 - 127))
返回 (到文本 (四舍五入 (到数值 (IEEE返回文本1), 1)))  ' 自动保留一位小数
返回 (“暂时无法计算”)


作者: 深圳梦    时间: 2023-3-31 20:08
感谢分享,很给力!~
作者: Conquer    时间: 2023-3-31 20:15
感谢分享,很给力!~
作者: chenxiao20    时间: 2023-3-31 23:11
感谢分享~~~~~~~~~~~~~~~~~~~~~~
作者: 396384183    时间: 2023-4-1 03:29
是感谢分享
作者: 一指温柔    时间: 2023-4-1 08:48
谢谢分享
作者: 临安    时间: 2023-4-1 21:54
感谢分享~~~~~~~~~~~~~~~~~~~~~~

作者: 烈焰029雨魔    时间: 2023-4-3 09:22


支持开源~!感谢分享
作者: 夏亿    时间: 2023-4-5 22:01
感谢分享~




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4