C++中,rand()&1是什么意思?

[复制链接]
查看11 | 回复4 | 2020-3-21 07:17:36 | 显示全部楼层 |阅读模式
rand()随机产生一个浮点数,没有区间,这与vb的rnd不同。rand()%9+1,是先把rand()产生的浮点数自动取整,再对9取余,最后+1.最终结果是随机产生一个1到9之间的整数,即有可能是1,2,3,4,5,6,7,8,9...
回复

使用道具 举报

千问 | 2020-3-21 07:17:36 | 显示全部楼层
取出一个随机整数X, 范围在1-RANDOM_MAX之间 (RANDOM_MAX是个常量,可能比较大)然后X与1做位运算与&而1 二进制码为00000001,&运算导致前面的都是零实际上只需看X的最后一位, 如果是1, &运算结果就是1, 如果是0, 返回0故rand()&1实际上是取一随机数并判断其奇偶...
回复

使用道具 举报

千问 | 2020-3-21 07:17:36 | 显示全部楼层
取随机数,判断该随机数是否是奇数。...
回复

使用道具 举报

千问 | 2020-3-21 07:17:36 | 显示全部楼层
取出随机数和1相与...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行