我想转换这个等式" ( rand() % ( max-min ) ) + min;
"从C ++到TCL / TK到我们在ns2 ...我希望如果有人可以帮助我。
我最诚挚的问候
答案 0 :(得分:0)
表达式无法直接转换,因为Tcl的rand()
返回浮点数(在0.0到1.0范围内),而不像C ++的rand()
,它返回一个整数。但是,相当于道德等同于:
expr { int(rand() * ($max - $min)) + $min }
我们可以将它包装成一个小程序,使其更容易使用(就像在C ++中编写辅助函数一样):
proc randInRange {min max} {
return [expr { int(rand() * ($max - $min)) + $min }]
}
# Example of calling it and using the result:
puts [randInRange 1 10]