| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 376 人关注过本帖
标题:请教这段程序实现什么功能呢
只看楼主 加入收藏
weishanhu03
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-4-24
收藏
 问题点数:0 回复次数:4 
请教这段程序实现什么功能呢
Private Function Bin(ByVal x As Long) As String
Dim temp As String
temp = ""
Do
If x Mod 2 Then
temp = "1" + temp
Else
temp = "0" + temp
End If
x = x \ 2
If x < 1 Then Exit Do
Loop
Bin = temp
End Function
2007-08-24 16:16
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
把x化成二进制(用字符串表示)

偶学编程,也许本身就是一个错。。。
2007-08-24 16:19
slore
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:1108
专家分:0
注 册:2005-7-1
收藏
得分:0 
除2取余……效率。。。。很低……

快上课了……
2007-08-24 17:41
simpson
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:863
专家分:17
注 册:2006-11-16
收藏
得分:0 

Public Function Dec2Bin(ByVal decValue) As String
While decValue > 0
Dec2Bin = decValue Mod 2 & Dec2Bin
decValue = decValue \ 2
Wend
End Function

Public Function Bin2Dec(ByVal decValue) As Long
Dim c As Variant
For i = 1 To Len(decValue)
Bin2Dec = Bin2Dec + Mid(StrReverse(decValue), i, 1) * 2 ^ c
c = c + 1
Next
End Function



LSD 可以给个效率高的方法吗?


全国最大的 Java专业电子书免费分享[url]http:///in.asp?id=xrmao[/url]
2007-08-24 21:34
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 

http://www.mndsoft.com/blog/article.asp?id=268

Public Function DecToBin(ByVal DecNumber As Currency) As String
On Error Goto DecToBin_Finally
Dim BinNumber As String
Dim i%


For i = 64 To 0 Step -1


If Int(DecNumber / (2 ^ i)) = 1 Then
BinNumber = BinNumber & "1"
DecNumber = DecNumber - (2 ^ i)
Else


If BinNumber <> "" Then
BinNumber = BinNumber & "0"
End If
End If
Next
DecToBin = BinNumber
DecToBin_Finally:
If Err <> 0 Or BinNumber = "" Then DecToBin = "-E-"
Exit Function
End Function

这个是mndsoft上的,估计效率再提高会比较麻烦

如果还要高精度的话效率只会更低 除非用外接

2007-08-24 21:43
快速回复:请教这段程序实现什么功能呢
数据加载中...
 
   



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

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