标题:如何用表单做十进制和二进制相互转换
只看楼主
程序猿211
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2018-3-25
结帖率:25%
已结贴  问题点数:5 回复次数:3 
如何用表单做十进制和二进制相互转换
如何用表单做十进制和二进制相互转换?
这是我的代码,大佬麻烦看一下,有哪些缺点?
a=val(alltrim(thisform.text1.value))
zs=int(a) &&整数
xs=a-zs  &&小数部分
jg=""
&&a=val(alltrim(thisform.text1.value))
b=""
do while zs>0
  y=zs%2
  b=str(y,1)+b
  zs=int(zs/2)
 enddo
 thisform.refresh


&&小数
do while xs!=1
 c=xs*2
e=str(int(c))
f=""
xs=val(alltrim(e))
e=e+f
enddo


&&合并
jg=b+"."+alltrim(e)
thisform.text2.value=alltrim(jg)
thisform.refresh


&&二转十部分
ea=val(alltrim(thisform.text1.value))  &&输入的二进制的数
ezs=int(ea)    &&二进制小数点左边
exz=ea-ezs     &&二进制小数点右边


&&二进制小数点左边
p=at(".",thisform.text1.value)
do while ezs>0
  q=ezs*2
 
  还没做完,请给点意见!谢谢!
搜索更多相关主题的帖子: 二进制 转换 thisform value int 
2018-05-17 16:48
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:2 
二进制远不是你那样的,二进制只有0和1,没有小数点,也没有正负号,你那仅能表示正整数
2018-05-17 21:50
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
看似是二进制表达式,不是数值在内存的存储格式。
如:6.125
二进制表达式:110.001
存储格式:0 10000001 10001000000000000000000
2018-05-17 22:13
reakal
Rank: 1
等 级:新手上路
威 望:1
帖 子:13
专家分:8
注 册:2014-8-13
得分:2 
MYFLL,有进制转换函数
2018-05-18 09:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487022-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060412 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved