十进制转二进制VFP代码
(2017-07-12 10:50:39)
标签:
vfp二进制十进制转换钱一飞 |
分类: 电脑教程 |
**十进制转二进制
clear
?"本程序将十进制转换为二进制"
accept
"请输入十进制的数(如125.32)" to n
?n
s=""
&&定义S为字符
ws=at(".",n)
&&计算小数点的位数
zsws=ws-1
&&计算整数部分的位数
aa=left(n,zsws)
&&取出整数字符
bb=val(aa)
&&整数字符转数值
do while
bb>0
enddo
&&??"转换为二进制为:",s &&
s累加后就是二进制码,s是字符串
weishu=at(".",n)
&&计算前字符在后字符串的位置
a=len(n)
&&字符串总长度
b=weishu
c=a-b
&&计算有几位小数
e=right(n,c)
&&把小数部分截取出来,是字符
f=val(e)
&&转换为数值,整数
g=f*10^(-c)
&&转为小数
i=1
k=""
do while i<=10
&&二进制小数的位数保留10位
g=g*2
&&十进制小数转二进制的方法:乘2取整
if
g<1
h=0
else
h=1
g=g-1
&&取整
endif
i=i+1
&&保证可以退出循环
k=k+allt(str(h))
enddo
&&?k
??"转换为二进制为:"
+s +"."
+k
&&请帮助优化代码,谢谢!
前一篇:VFP 十转二 的另一种方法
后一篇:十进制转二进制完全代码