请问如何随机产生一个n位的二进制序列?

alfree 2005-12-05 11:11:36
也就是n位二进制序列中每一位都只能为0或者1,谢谢了!
...全文
569 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhzhq800204 2005-12-05
  • 打赏
  • 举报
回复
'strlen 是二进制数的长度,返回String类型
Function rndbin(ByVal strlen As Integer) as String
Dim i As Integer, r As Integer
For i = 1 To strlen
Randomize '初始化随机数生成器
r = Int(Rnd * 10)
rndbin = rndbin & r Mod 2
Next
End Function
有个返回值
zou19820704 2005-12-05
  • 打赏
  • 举报
回复

Public Function TwoVal(x As Integer) As String
Dim i As Integer
For i = 1 To x
TwoVal = TwoVal & CStr(Round(Rnd * 1))
Next
End Function

Private Sub Command1_Click()
MsgBox TwoVal(10)
End Sub
fxy_2002 2005-12-05
  • 打赏
  • 举报
回复
改一下,加一句 Randomize

Function rndbin(ByVal rlen As Integer)
Dim i As Integer, r As Integer

Randomize '初始化随机数生成器,以防产生重复的串
For i = 1 To rlen
r = Int(Rnd * 10)
rndbin = rndbin & r Mod 2
Next
End Function
fxy_2002 2005-12-05
  • 打赏
  • 举报
回复
比如下面的,产生一个指定长度的串:

Function rndbin(ByVal rlen As Integer)
Dim i As Integer, r As Integer
For i = 1 To rlen
r = Int(Rnd * 10)
rndbin = rndbin & r Mod 2
Next
End Function
fxy_2002 2005-12-05
  • 打赏
  • 举报
回复
要自己写一个函数实现。
alfree 2005-12-05
  • 打赏
  • 举报
回复
thank you everybody!
northwolves 2005-12-05
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
MsgBox randn(10)
End Sub


Function randn(ByVal n As Integer) As String
Dim a() As String, i As Integer
Randomize
ReDim a(1 To n)
For i = 1 To n
a(i) = Int(2 * Rnd)
Next
randn = Join(a, "")
End Function

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧