srand48(time(0) ^ getpid());是代表什么含义啊?我大概了解到是返回进程ID,但是返回值赋给谁,求详解。
答案:2 悬赏:60
解决时间 2021-02-23 19:14
- 提问者网友:空白
- 2021-02-22 21:17
srand48(time(0) ^ getpid());是代表什么含义啊?我大概了解到是返回进程ID,但是返回值赋给谁,求详解。
最佳答案
- 二级知识专家网友:陪我到地狱流浪
- 2021-02-22 22:56
srand48()——获取48位运算随机数(数据类型:double);
time(0)——获取当前时间(long);
getpid()——获取当前进程识别码(long);
srand48(time(0) ^ getpid())就是产生一个48位种子随机数。该随机函数的种子参数是time(0) ^ getpid(),即:系统时间(从某个时间到现存的秒数,类型为long)的当前进程识别码次方。
这个函数在UNIX系统的C、C++中存在。WINDOWS中一般不用(VC++不用)。例如当前时间为10E30秒,当前进程为100,上述式子相当于windows 下的rand(10E30*100)=rand(10E32)。
返回值,一般赋给编程人员要用的变量,或直接作为参数传递给另一个函数。
time(0)——获取当前时间(long);
getpid()——获取当前进程识别码(long);
srand48(time(0) ^ getpid())就是产生一个48位种子随机数。该随机函数的种子参数是time(0) ^ getpid(),即:系统时间(从某个时间到现存的秒数,类型为long)的当前进程识别码次方。
这个函数在UNIX系统的C、C++中存在。WINDOWS中一般不用(VC++不用)。例如当前时间为10E30秒,当前进程为100,上述式子相当于windows 下的rand(10E30*100)=rand(10E32)。
返回值,一般赋给编程人员要用的变量,或直接作为参数传递给另一个函数。
全部回答
- 1楼网友:哭不代表软弱
- 2021-02-22 23:51
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯