random - 使用 C 预处理器生成随机数

标签 random c-preprocessor

我想使用 生成一个随机数或字符串C 预处理器......嗯......我什至不知道这是否可能,但我正在尝试动态创建变量(字符串在这里会有所帮助)并为其分配值(整数)。所以我正在尝试做一些事情,但基本问题仍然存在 - 我可以使用预处理器创建一个随机字符串或数字吗?

最佳答案

基于 1999-01-15 Jeff Stout(感谢@rlb.usa)

#define UL unsigned long
#define znew  ((z=36969*(z&65535)+(z>>16))<<16)
#define wnew  ((w=18000*(w&65535)+(w>>16))&65535)
#define MWC   (znew+wnew)
#define SHR3  (jsr=(jsr=(jsr=jsr^(jsr<<17))^(jsr>>13))^(jsr<<5))
#define CONG  (jcong=69069*jcong+1234567)
#define KISS  ((MWC^CONG)+SHR3)
/*  Global static variables: 
    (the seed changes on every minute) */
static UL z=362436069*(int)__TIMESTAMP__, w=521288629*(int)__TIMESTAMP__, \
   jsr=123456789*(int)__TIMESTAMP__, jcong=380116160*(int)__TIMESTAMP__;


int main(int argc, _TCHAR* argv[]){
    cout<<KISS<<endl;
    cout<<KISS<<endl;
    cout<<KISS<<endl;
}

输出:
247524236
3009541994
1129205949

关于random - 使用 C 预处理器生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5355317/

相关文章:

random - Swift:在随机时间后重复 Action

objective-c - Objective-C 中的加权随机字母

javascript - 生成随机元素位置并防止在 JavaScript 中重叠

makefile - 制作文件预处理器指令

cpp 预处理器输出无法理解?

VBA Excel "error 13: type mismatch"

c - 找出 GCC 包含路径是什么

c++ - 字符串化任意数量的变量

C/C++ 预处理器 - 'Charify'

javascript - 如何使用 vanilla js 恢复类列表