精易论坛

标题: 学C用E_二进制递归转换 [打印本页]

作者: 午间雪    时间: 2020-3-11 13:48
标题: 学C用E_二进制递归转换
本帖最后由 午间雪 于 2020-3-11 14:02 编辑

最近学习C语言的函数和循环,讲到二进制转换,用易语言编一个,为学易语言的人提供一个递归调用的例子
  
子程序名返回值类型公开备 注
整数转换 出来大于0的整数
参数名类 型参考可空数组备 注
参_待转换数整数型
如果真 (参_待转换数 > 0)
整数转换 (参_待转换数 ÷ 2)  ' 递归
整数临时码 = 整数临时码 + 到文本 (参_待转换数 % 2)

子程序名返回值类型公开备 注
小数转换  
参数名类 型参考可空数组备 注
待转小数双精度小数型
变量名类 型静态数组备 注
截取整数整数型 
如果真 (待转小数 ≠ 0 取文本长度 (删全部空 (小数临时码)) < 10)  ' 递归方式,保留10位
待转小数 = 待转小数 × 2
小数临时码 = 小数临时码 + 到文本 (到整数 (待转小数))
小数转换 (待转小数 - 到整数 (待转小数))

. ' 判断循环首 (待转小数 ≠ 0 取文本长度 (删全部空 (小数临时码)) < 10)  ' 循环方式,保留10位
' 待转小数 = 待转小数 - 截取整数
' 待转小数 = 待转小数 × 2
' 截取整数 = 待转小数
' 小数临时码 = 小数临时码 + 到文本 (截取整数)
. ' 判断循环尾 ()
子程序名返回值类型公开备 注
输出二进制文本型 
变量名类 型静态数组备 注
二进制码文本型 
二进制总位数整数型 
整数原码文本型 
小数原码文本型 
' 整数原码补位处理
判断 (组合框1.现行选中项 = 0)
二进制总位数 = 32  ' 默认值
判断 (组合框1.现行选中项 = 1)
二进制总位数 = 64



整数原码 = 取重复文本 (二进制总位数 - 取文本长度 (整数临时码), “0”) + 整数临时码
' 分组,4位一组,便于阅读
如果 (整数部分 < 0)
整数原码 = 负整数转换 (整数原码)
整数原码 = 分组 (整数原码)  ' 方便阅读
整数原码 = 分组 (整数原码)
' 小数原码处理
小数原码 = “.”分组 (小数临时码)
' 合并
判断 (整数部分 ≠ 0)
如果 (小数部分 = 0)
二进制码 = 整数原码
二进制码 = 整数原码 + 小数原码

判断 (小数部分 < 0)  ' 纯小数
二进制码 = “- 0” + 小数原码
二进制码 = “0” + 小数原码
返回 (删首尾空 (二进制码))

二进制递归转换.jpg (102.26 KB, 下载次数: 1)

二进制递归转换.jpg

学C用E_输出二进制数.e

12.27 KB, 下载次数: 10, 下载积分: 精币 -2 枚


作者: 杨明煜    时间: 2020-3-11 14:24
支持分享.................
作者: ciyi    时间: 2024-3-8 08:26
666666666666666




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