早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请问这句话是什么意思rand()&0x00007fff全句是这样的#defineRAND()(rand()&0x00007fff)其实我的问题是怎样让rand()可以取float类型的数值比如我想娶1.2到5.6之间的数据,用rand()做不到了vc里好

题目详情
请问这句话是什么意思 rand() & 0x00007fff全句是这样的 #define RAND() ( rand() & 0x00007fff ) 其实我的问题是怎样让rand()可以取float类型的数值 比如我想娶1.2到5.6之间的数据,用rand()做不到了 vc里好像没有random()函数了
▼优质解答
答案和解析
stdlib.h中的rand()返回一个unsigned int 0x00007fff就是32767 rand() & 0x00007fff就是相当于模32768 就是取0-32767之间的随机数 如果你想取1.2到5.6之间的数据,可以这样 4.4*rand()/0x0007ffff+1.2 就是这个意思,具体的细节你自己可以调节