回 帖 发 新 帖 刷新版面

主题:在C++ 中 -1UL 表示什么意思

比如这个线性同余程序中   return (double)(seed) / -1UL;  
-1UL 是什么意思 
randomize() { seed = 1103515245UL * seed + 12345UL; }  
中的 1103515245UL 是什么意思 
麻烦大家了 谢谢
#include <iostream>
#include <ctime>

using namespace std;


class lcrandom  
 {  
 public:  
   explicit lcrandom(size_t s = 0) : seed(s)  
   {  
     if (seed == 0) seed = std::time(0);  
     randomize();  
   }  
   
   void reset(size_t s)  
   {  
     seed = s;  
     if (0 == seed) seed = std::time(0);  
     randomize();  
   }  
   
   size_t rand()  
   {  
   //returns a random integer in the range [0, -1UL)  
     randomize();  
     return seed;  
   }  
   
   double real()  
   {  
   //returns a random real number in the range [0.0, 1.0)  
     randomize();  
     return (double)(seed) / -1UL;  
   }  
   
 private:  
   size_t seed;  
   void randomize() { seed = 1103515245UL * seed + 12345UL; }  
 };  
   
 //class lcrand_help  
 //{  
 //  static lcrandom r;  
 //public:  
 //  lcrand_help() {}  
 //  void operator()(size_t s) { r.reset(s); }  
 //  size_t operator()() const { return r.rand(); }  
 //  double operator()(double) { return r.real(); }  
 //};  
 //lcrandom lcrand_help:: r;  
 //  
 //extern void lcsrand(size_t s) { lcrand_help()(s); }  
 //extern size_t lcirand() { return lcrand_help()(); }  
 //extern double lcdrand() { return lcrand_help()(1.0); }  


int main()
{
    lcrandom zy;
    for (int i=0;i<100;i++)
    {
      cout<<zy.real()<<"  ";
    }
    

    system("pause");
    return 0;
}

回复列表 (共4个回复)

沙发

UL无符号长整型

板凳

UL就是unsigned long

3 楼

UL是unsigned long
-UL...不懂..

4 楼

深圳市华信群英科技有限公司与知名通信软件公司正式签订定向输送人才的合作协议
针对想进入IT软件行业的有志人士提供专业的企业内训
实训课程采用“2+3”分段教学模式,分为2个月理论强化和3个月项目实训两个阶段
实训前就签订就业安置协议,岗前实训后入职
不仅学费优惠而且是企业定向培训定向招聘,百分百保证就业
有意向请登录www.szctt.com,或加QQ:1179397962做详细咨询

我来回复

您尚未登录,请登录后再回复。点此登录或注册