Rnd * 10有否可能产生0?

lowyao8888 2004-12-20 11:20:28
Rnd * 10有否可能产生0?
...全文
267 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
njch1985 2004-12-21
  • 打赏
  • 举报
回复
0 <= Rnd <1
正解
andylxd 2004-12-21
  • 打赏
  • 举报
回复
恩 是啊 不应该啊 只要 不是0 乘以任何数 都不该出现 0的啊 !
保温杯泡 2004-12-21
  • 打赏
  • 举报
回复
决对不可能产生0,因为RND产生的是0-1之间的小数,你想想,用一个小数乘以10,能不能产生0?
就算这个小数再小,它乘以10之后一定是不会产生0的,你如果产生了0,那你把你的程序给我发过来,看是不是你写的有问题。
lyxhappy 2004-12-21
  • 打赏
  • 举报
回复
有可能产生0,0<=rnd<1
VertyNew 2004-12-21
  • 打赏
  • 举报
回复
加上Randomize Timer试试
aeonwang 2004-12-21
  • 打赏
  • 举报
回复
Rnd 是返回大于等于0而小于1的随机数,所以Rnd*10绝对可能产生0的结果,只是概率的问题!
陈年椰子 2004-12-21
  • 打赏
  • 举报
回复
理论上是可以的, 几率非常小
foureyecat 2004-12-21
  • 打赏
  • 举报
回复
试了1亿次,返回6,几率还真是小啊
rickone 2004-12-21
  • 打赏
  • 举报
回复
理论上的概率是0。
只有在一个范围上取值时才会有概率值的,概率函数是概率密度函数的定积分嘛,如果被积范围为0,取一个点,你看概率是不是0。
但是计算机是离散的,随机函数不是真的能产生实的随机数,因为实型变量是有精度问题的。
AprilSong 2004-12-21
  • 打赏
  • 举报
回复
无聊……找了个出来……

如果VB的随机数发生器不是硬件相关的话
下面这个应该就算了~

Private Sub Form_Click()
Dim i As Long

Rnd -1
Randomize 282

For i = 1 To 19281
Rnd
Next

Me.Print Rnd
End Sub
笨狗先飞 2004-12-21
  • 打赏
  • 举报
回复
脱开精度讲取值其实意义不大,只适合作理论研究
一般比如取整 int(rnd*10) 范围就是 0 1 2 3 4 5 6 7 8 9
cint(rnd*10) 结果范围是 1 2 3 4 5 6 7 8 9 10
笨狗先飞 2004-12-21
  • 打赏
  • 举报
回复
在你指定的精度内一定会产生0
Yaka 2004-12-21
  • 打赏
  • 举报
回复
wjbych() 的想法很有问题
zftow110 2004-12-21
  • 打赏
  • 举报
回复
应该机率小吧。。。。
marckle 2004-12-21
  • 打赏
  • 举报
回复
0<=rnd<1,MSDN这么说,所以肯定会有0出现,没必要争。
wjbych说产生0-1之间的小数,错误,除非0<rnd<1.
Random 2004-12-21
  • 打赏
  • 举报
回复
从理论上来说0<=rnd<1,所以等于0是可能的。
经过试验证明确实可以,并且如果结果精度越大,那么等于0的几率就越小。
当数据精度只有1位的时候,等于0的概率是1/2,当数据是2位时几率为1/4,当数据是8位时几率是1/2^8。
atestya 2004-12-20
  • 打赏
  • 举报
回复
楼上的说的对,不是不可能,只是很难,就像火星撞地球
vbscape 2004-12-20
  • 打赏
  • 举报
回复
Rnd 产生小于1而大于或等于0的数字,当然可能是0了。
NickXuanDeng 2004-12-20
  • 打赏
  • 举报
回复
不会,只会产生0-10的数
Yaka 2004-12-20
  • 打赏
  • 举报
回复
有可能的~但几率不大!
0.0043355.......都试过!
加载更多回复(3)

7,759

社区成员

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

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